68_Redis数据结构-QuickList

1.QuickList介绍

虽然ZipList能够节省内存,但它要求申请的内存空间必须是连续的,当内存占用较高时,这会导致申请内存的效率变得很低。如何解决这一问题?我们可以考虑通过限制ZipList的长度和单个entry的大小来减轻对连续大块内存的需求,从而优化内存申请过程。

当需要存储的数据量超出ZipList的最佳承载上限时,我们又该如何应对呢?一种有效的策略是创建多个ZipList,将数据分片存储在这些不同的ZipList中。

数据拆分存储在多个ZipList中后会变得很分散,从而会增加管理和查找的难度,同时这多个ZipList又如何建立联系呢?为了解决这个问题,Redis在3.2版本中引入了一种新的数据结构——QuickList。QuickList实际上是一个双端链表,但其独特之处在于链表中的每一个节点都采用了ZipList来存储数据,这样既保持了ZipList节省内存的优势,又通过链表的结构巧妙地将多个ZipList组织起来,同时还达到了数据的分片存储的目的,便于统一管理和高效查找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值