Zset类型的底层数据结构是由压缩列表或跳表实现的:
- 如果有序集合的元素个数小于
128
个,并且每个元素的值小于64
字节时,Redis 会使用压缩列表作为 Zset 类型的底层数据结构; - 如果有序集合的元素不满足上面的条件,Redis 会使用跳表作为 Zset 类型的底层数据结构;
在Redis 7.0 中,压缩列表数据结构已经废弃了,交由 listpack 数据结构来实现了。
跳表时间复杂度?
- 搜索操作的时间复杂度:O(log n),其中n是跳表中元素的数量。这是因为跳表中使用多级索引,可以通过跳跃的方式快速定位到目标元素所在的位置,从而将搜索的时间复杂度降低到对数级别。
- 插入和删除操作的时间复杂度:O(log n),其中n是跳表中元素的数量。与搜索操作类似,插入和删除操作也可以通过跳跃的方式快速定位到需要插入或删除的位置,并进行相应的操作。因此,插入和删除的时间复杂度也是对数级别的。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END