三、数据结构
每种结构都从「用户可见模型 → 底层编码与转换阈值 → 命令复杂度 → 内存特征 → Cluster 多键与 hash tag → 大 Key 风险 → 监控排障」讲清。
- String 字符串与计数器
- Hash 哈希
- List 列表与队列
- Set 集合
- Sorted Set 有序集合
- Bitmap 与 Bitfield 位操作
- HyperLogLog 基数统计
- Geo 地理空间
- Stream 与消费者组
编码与结构选择速查
| 抽象类型 | 小集合编码 | 大集合编码 | 关键阈值参数 |
|---|---|---|---|
| String | int / embstr(≤44B) | raw | 内部常量 |
| Hash | listpack | hashtable | hash-max-listpack-entries/value |
| List | listpack | quicklist(节点内 listpack) | list-max-listpack-size |
| Set | intset(纯整数)/ listpack | hashtable | set-max-intset-entries、set-max-listpack-entries/value |
| Sorted Set | listpack | skiplist + dict | zset-max-listpack-entries/value |
注:listpack 自 Redis 7.0 起取代 ziplist;Set 的 listpack 编码自 7.2 起。
