redis自学(9)List
List
Redis的List类型可以从首、尾操作列表中的元素:
哪一个数据结构能满足上述特征?
- LinkedList: 普通链表,可以从双端访问,内存占用较高,内存碎片较多
- ZipList: 压缩列表,可以从双端访问,内存占用低,存储上限低
- QuickList: LinkedList+ZipList,可以从双端访问,内存占用较低,包含多个ZipList,存储上限高
- 在3.2版本之前,Redis采用ZipList和LinkedList来实现List,当元素数量小于512并且元素大小小于64字节时采用ZipList编码,超过则采用LinkedList编码。
- 在3.2版本之后,Redis统一采用QuickList来实现List:
内存结构:
说白了,就是在QuickList的基础上,包了一下RedisObject的头。