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