一、实现:
Zset有序集合是一种由 跳表(Skip List)+哈希表(Hash Table) 实现的数据结构。
二、特点功能:
Set特性+排序
三、跳表与哈希表分析:
Zset的实现由两个数据结构:
1.跳表(Skip List) :用于存储数据的排序和快速查找
2.哈希表:用于 存储成员->分数 映射,提供快速查找
当Zset元素数量较少 时,Redis会用 **压缩列表(Zip List)**来节省内存,下面两个条件必须都满足
- 元素个数 ≤ zset-max-ziplist-entries(默认 128)
- 元素成员名和分值的长度 ≤ zset-max-ziplist-value(默认64字节)
如果有任何一个不满足,还是跳表+哈希表作为底层实现