风驰电掣——探索Redis快速列表数据结构优化.pdfVIP

  • 1
  • 0
  • 约2.67千字
  • 约 5页
  • 2026-04-20 发布于北京
  • 举报

风驰电掣——探索Redis快速列表数据结构优化.pdf

源码4:⻛驰电掣——探索「快

速列表」内部

Redis早期版本存储list列表数据结构使⽤的是压缩列表ziplist和

普通的双向链表linkedlist,也就是元素少时⽤ziplist,元素时⽤

linkedlist。

//链表的节点

structlistNodeT{

listNode*prev;

listNode*next;

Tvalue;

}

//链表

structlist{

listNode*head;

listNode*tail;

longlength;

}

考虑到链表的附加空间相对太⾼,prev和next指针就要占去16

个字节(64bit系统的指针是8个字节),另外每个节点的内存都是

单独分配,会加剧内存的碎⽚化,影响内存管理效率。后续版本对列

表数据结构进⾏了改造,使⽤quicklist代替了ziplist和

linkedlist。

rpushcodeholegojavapython

(integer)

debugobjectcodehole

Valueat:0x7fec2dc2bde0refcount:1

encoding:quicklistserializedl

文档评论(0)

1亿VIP精品文档

相关文档