List-内部编码
-
列表
- 最多存储232 - 1个元素,约42.9亿
- 内部元素是有序的,并且可以重复
- 可以用作栈或队列
-
源代码文件:t_list.c
-
编码类型
- ziplist —— OBJ_ENCODING_ZIPLIST
- 压缩链表,少于512个元素、且元素均小于64字节时采用
- 512 是 list-max-ziplist-entries 的默认值
- 64 是 list-max-ziplist-value 的默认值
- 更紧凑更节约内存,但在元素过多过大时读写效率会降低
- 压缩链表,少于512个元素、且元素均小于64字节时采用
- linkedlist —— OBJ_ENCODING_LINKEDLIST
- 链表,在2.x版本中会使用
- quicklist —— OBJ_ENCODING_QUICKLIST
- 3.2版本新增,结合了前两者的优势
- ziplist —— OBJ_ENCODING_ZIPLIST
-
对应底层实现文件:
quicklist.c(双端列表)