Redis 7.0 引入了 listpack 替代 ziplist,解决了中间插入和删除的级联更新问题。listpack 通过空间换时间的策略优化了内存使用,改进了整数和字符串的编码方式,短字符串和小整数使用短编码以节省内存,整体设计提升了性能。后续将分析 listpack 的数据结构应用。
《Redis源码阅读:list实现(ziplist, quicklist)》如果我们用Redis做过broker,就知道,绝大部分的队列实现,都是基于 `LPUSH` 和 `BRPOP` 这两个命令的。那么,Redis到底是怎么实现list的呢?底层是如何实现的,是否省内存,Redis为了省内存又做了什么优化?阻塞版的pop又是怎么实现的?这篇文章里,我们就会探讨这些问题...
本来打算只用一篇文章来讲解Redis中的list,在实际写作过程中发现Redis中有多种list的实现,所以准备拆成多篇文章,本文主要讲ziplist,ziplist也是quicklist的基础。另外还有skiplist,skiplist虽... Redis源码剖析之压缩列表(ziplist)最先出现在XINDOO。
完成下面两步后,将自动完成登录并继续当前操作。