- 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)