Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

List-内部编码

  • 列表

    • 最多存储232 - 1个元素,约42.9亿
    • 内部元素是有序的,并且可以重复
    • 可以用作栈或队列
  • 源代码文件:t_list.c

  • 编码类型

    • ziplist —— OBJ_ENCODING_ZIPLIST
      • 压缩链表,少于512个元素、且元素均小于64字节时采用
        • 512 是 list-max-ziplist-entries 的默认值
        • 64 是 list-max-ziplist-value 的默认值
      • 更紧凑更节约内存,但在元素过多过大时读写效率会降低
    • linkedlist —— OBJ_ENCODING_LINKEDLIST
      • 链表,在2.x版本中会使用
    • quicklist —— OBJ_ENCODING_QUICKLIST
      • 3.2版本新增,结合了前两者的优势
  • 对应底层实现文件:quicklist.c(双端列表)