Redis 7.4 版本中,ziplist 被 listpack 替代,优化了小集合的内存编码。quicklist 用于处理大列表,通过多个 listpack 节点提高效率。intset 用于小整数集合,超限后升级为 listpack 或哈希表,升级阈值可配置,主要目标是节省内存。
《Redis源码阅读:list实现(ziplist, quicklist)》如果我们用Redis做过broker,就知道,绝大部分的队列实现,都是基于 `LPUSH` 和 `BRPOP` 这两个命令的。那么,Redis到底是怎么实现list的呢?底层是如何实现的,是否省内存,Redis为了省内存又做了什么优化?阻塞版的pop又是怎么实现的?这篇文章里,我们就会探讨这些问题...
何为quicklist,上次说到ziplist每次变更的时间复杂度都非常高,因为必须要重新生成一个新的ziplist来作为更新后的list,如果一个list非常大且更新频繁,那就会给redis带来非常大的负担。如何既保留ziplist的空间... Redis源码剖析之快速列表(quicklist)最先出现在XINDOO。
完成下面两步后,将自动完成登录并继续当前操作。