博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis数据结构实现(四)
阅读量:6037 次
发布时间:2019-06-20

本文共 482 字,大约阅读时间需要 1 分钟。

redis数据结构实现(四)

4 跳表的实现

    • *
      结构图:

Image_3_

跳表由zskiplistNode和构成zskiplist构成

zskiplist结构:

header: 指向跳跃表的头节点    tail: 指向跳跃表的尾节点    level: 跳跃表中层数最大节点的层数(表头的层数不计入)    length: 跳表保存的节点数(空表头不计入)

zskiplistNode结构:

level数组: 层,每次创建一个新的跳表节点都会根据幂次定律计算出level数组的大               小,也就是次层的高度。每一层带有两个属性-前进指针和跨度。            前进指针用于访问表尾方向的其他指针;跨度用于记录当前节点与前进指针所             指节点的距离   backward: 后退指针,指向当前节点的前一个节点   score:分值,用来排序,如果分值相同看成员变量在字典序大小排序   obj: 成员对象是一个指针,指向一个字符串对象里面保存着一个sds;            在跳表中各个节点的成员对象必须唯一,分值可以相同

转载地址:http://polhx.baihongyu.com/

你可能感兴趣的文章
nginx面试常问题目
查看>>
制作ubuntu系统u盘镜像,以及安装
查看>>
JAVA多线程深度解析
查看>>
Kafka High Level Consumer 会丢失消息
查看>>
时间轴
查看>>
java 获取系统当前时间的方法
查看>>
Ubuntu 10.04升级git 到1.7.2或更高的可行方法
查看>>
Spring Security4实战与原理分析视频课程( 扩展+自定义)
查看>>
消息队列服务器 memcacheq的搭建
查看>>
VMware Horizon View 7.5 虚拟桌面实施咨询与购买--软件硬件解决方案
查看>>
RabbitMQ如何保证队列里的消息99.99%被消费?
查看>>
第一周博客作业
查看>>
thinkpython2
查看>>
String、StringBuffer和StringBuilder的区别
查看>>
oracle recyclebin与flashback drop
查看>>
svmlight使用说明
查看>>
Swing 和AWT之间的关系
查看>>
Mysql设置自增长主键的初始值
查看>>
Android计时器正确应用方式解析
查看>>
获取post传输参数
查看>>