重点回顾
- 跳跃表是有序集合的底层实现之一, 除此之外它在 Redis 中没有其他应用。
- Redis 的跳跃表实现由
zskiplist
和 zskiplistNode
两个结构组成, 其中 zskiplist
用于保存跳跃表信息(比如表头节点、表尾节点、长度), 而 zskiplistNode
则用于表示跳跃表节点。
- 每个跳跃表节点的层高都是
1
至 32
之间的随机数。
- 在同一个跳跃表中, 多个节点可以包含相同的分值, 但每个节点的成员对象必须是唯一的。
- 跳跃表中的节点按照分值大小进行排序, 当分值相同时, 节点按照成员对象的大小进行排序。