Redis ZSET底层实现是什么,为什么高版本的Redis要将压缩列表替换成listpack?
考察说明
考察Redis有序集合底层数据结构及压缩列表到listpack演进的原因
回答思路
- 准确说明ZSET在元素少且值小时使用压缩列表或listpack,元素多或值大时使用跳表和哈希表
- 解释listpack相比压缩列表在内存、性能和复杂度上的改进
- 说明压缩列表存在级联更新问题,listpack如何规避
- 能结合版本演进说明替换动机
考察Redis有序集合底层数据结构及压缩列表到listpack演进的原因