redis--quickList,listPack

Redis在3.2版本中引入quickList结构,将压缩链表和双向链表结合,减少级联更新问题。而在5.0版本,Redis进一步优化,用listPack替代压缩链表,listPack的len字段只记录当前entry长度,提高效率。这两个改进都是为了提升数据存储和访问性能。
摘要由CSDN通过智能技术生成

1.quckList

由于压缩链表存在级联更新的问题,所以redis在3.2的时候优化了这个问题。

结构图

由图可以看出,quickList的结构其实是把压缩链表和双向链表合并起来了。通过减小quickListNode的大小来降低级联更新的问题,本质上还是没有级联更新的问题,因为数据结构使用的还是压缩链表

2.listPack

redis在5.0版本的时候彻底优化了压缩链表。取而代之的是listPack。

结构图

最大的区别是len的长度不在记录前一个节点的大小,而是只记录当前entry的wncoding+data的长度。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值