总结-redis数据结构时间复杂度及对象编码方式

redis虽然提供了多种数据结构,但是redis并没有直接使用这些数据结构来实现底层键值对,而是基于这些数据结构创建了一个对象系统(1:字符串 2:列表 3:集合 4:hash 5:有序集合)。

接下来总结一下各个对象使用的底层数据结构及其时间复杂度。



redis对象

1:字符串

2:列表

2.1、列表对象的编码可以是ziplist或linkedlist。

编码转换:当列表对象同时满足一下两个条件时,列表对象使用ziplist编码,否则使用linkedlist编码

1)列表对象保存的所有字符串元素的长度都小于64字节时(redis配置文件 list-max-ziplist-value 配置)

2)列表对象保存的元素数量小于512个。(redis配置文件list-max-ziplist-entries配置

2.2、列表对象命令的实现

总结-redis数据结构时间复杂度及对象编码方式_第1张图片

3:hash对象

4:集合

5:有序集合

你可能感兴趣的:(总结-redis数据结构时间复杂度及对象编码方式)