redis 列表对象
列表对象编码可以是ziplist 或者 linkedlist。 当列表对象使用ziplist的条件:
- 列表对象保存的所有字符串元素都小于64字节;
- 列表对象保存的元素个数小于512个。
ziplist下每个压缩列表节点保存一个列表元素。
举个例子,执行rpush
命令
rpush numbers 1 "three" 5
(integer) 3
如果使用ziplist结构,那么如图8-5所示:
如果用linkedlist结构,将使用双端链表作为底层实现。每个双端链表节点保存一个字符串对象,而字符串对象保存列表元素。还是上面的例子,如果用linkedlist来存储如图8-6所示:
字符串对象也是唯一一个被其他四个对象嵌套的对象。