Redis 数据类型

Redis 主要支持以下几种数据类型:

  • String(字符串):基本的数据存储单元,可以存储字符串、整数或者浮点数。
  • Hash(哈希):一个键值对集合,可以存储多个字段。
  • List(列表):一个简单的列表,可以存储一系列有序的字符串元素。
  • Set(集合):一个无序集合,可以存储不重复的字符串元素。
  • Zset(Sorted Set,有序集合):类似于集合,但是每个元素都有一个分数(score)与之关联。
  • 位图(Bitmaps):基于字符串类型,可以对每个位进行操作。
  • HyperLogLog(超日志):用于基数统计,可以估算集合中的唯一元素数量。
  • Geospatial(地理空间):用于存储地理位置信息。
  • Pub/Sub(发布/订阅):一种消息通信模式,允许客户端订阅消息通道,并接收发布到该通道的消息。
  • Stream(流):用于消息队列和日志存储,支持消息的持久化和时间排序。
  • Modules(模块):Redis 支持动态加载模块,可以扩展 Redis 的功能。

Redis Zset 和 Set 一样,也是 string 类型元素的集合,且不允许重复的成员。

Rust 实现的命令行工具

近年来,Rust 在命令行工具领域出现了一大批高质量的项目。许多经典的 Unix 命令(catlsgrepfindcd 等)都有了 Rust 重写的现代版本,它们在保留原工具习惯的同时,提供了更好的性能、更友好的输出和更丰富的功能。

Strapi 介绍

Strapi 是一个开源的 Headless CMS(无头内容管理系统)。它允许开发者通过自定义的方式快速构建、管理和分发内容。Strapi 提供了一个强大的后端 API,同时支持 RESTful 和 GraphQL 两种接入方式,使得开发者可以方便地将内容分发到任何设备或服务,无论是网站、移动应用还是 IoT 设备。

Tmux

Tmux 是一个终端复用器(terminal multiplexer),采用 ISC 许可证发布,作者 Nicholas Marriott,源码托管在 tmux/tmux。它最核心的能力是把"会话"与"终端窗口"彻底解绑:进程在服务器后台持续运行,关闭终端、SSH 掉线都不会让任务中断。本文整理 Tmux 的层级模型、常用命令与配置要点,便于日常查阅。

tproxy(透明代理)

tproxy 即 transparent(透明)proxy。这里的 transparent 有两层含义:

  • 对 client(客户端)透明:客户端无需任何额外配置,既不必修改请求地址,也不必采用代理协议与代理服务器协商。相比之下,socks 或 http 代理都需要在客户端显式设置代理地址,并在发起请求时通过代理协议告知代理服务器真实的目标地址。
  • 对 server(服务端)透明:服务端看到的是 client 端的地址,而非 proxy 的地址,仿佛请求从未经过中转。

换句话说,在一条透明的链路里,两端都不知道代理的存在。这与传统代理协议(如 HTTP CONNECT、SOCKS5)形成鲜明对比,后者要求应用感知代理并主动与之交互。