Redis中使用跳跃表作为有序集合键底层实现之一(如果有序集合中数据量较大或有序集合中的成员是较长的字符串)。
跳跃表的结构:
1. header:指向跳跃表的表头节点。
2. tail:指向跳跃表的表尾节点。
3. level:记录目前跳跃表内,层数最大的那个节点层数。
4. length:记录跳跃表的长度,也就是所有节点数量。
5. 层(level):节点中用L1,L2,L3,L4等字样标记节点各个层,每个层带有两个属性:前进指针和跨度。前进指针用于访问位于表位方向的其他节点,跨度则故名思意即为所指向节点与当前节点距离。
6. 后退指针:在程序从表尾向表头遍历时使用。
7. 分值:各个节点按各自所保存的分值从小到大排序。
网友评论