Redis跳跃表数据结构实现原理剖析.pdfVIP

  • 0
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-09-10 发布于北京
  • 举报

《009_redis内核中的跳跃表struct代码实现分析》

typedefstructzskiplist{

structzskiplistNode*header,*tail;

unsignedlonglength;

intlevel;

}zskiplist;

typedefstructzskiplistNode{

structzskiplistLevel{

structzskiplistNode*forward;

unsignedintspan;

}level[];

structzskiplistNode*backward;

doublescore;

robj*obj;

}zskiplistNode;

其实跳跃表没那么难,就是往里面放数据的时候,每个数据和他的分数都封装为一个节点,

他的level层高是随机算的,根据一个powerlaw,随机生成一个1~32范围的数值作为level

数值大小,也就是层高了

然后再把这个节点按score顺序进去就可以了,的时候就得去找对应的位置了,找

到对应位置进去,

文档评论(0)

1亿VIP精品文档

相关文档