数据库 · · By/蜜汁炒酸奶

Redis学习笔记02-列表对象

底层实现

ziplist编码

使用压缩列表作为底层实现,每个压缩列表节点(entity)保存了一个列表元素。

linkedlist编码

使用双端链表作为底层实现,每个双端链表节点(Node)都保存了一个字符串对象,而每个字符串对象都保存了一个列表元素。

编码转换

使用ziplist编码的条件,需要对象可以同时满足以下两个条件,不能满足的需要用linkedlist编码:
  1. 列表对象保存的所有字符串元素的长度都小于64字节
  2. 列表对象保存的元素数量小于512个
以上两个条件的上限值是可以修改的,涉及到配置文件的选项:
list-max-ziplist-value
list-max-ziplist-entries

基础命令

暂时不过多展开。
  • 创建-链尾:RPUSH Key value1 value2 value3......
  • 创建-链首:LPUSH Key value1 value2 value3.....

参考资料

《Redis设计与实现》

评论已关闭

example
C
蜜汁炒酸奶

当前处于试运行期间,可能存在不稳定情况,敬请见谅。

欢迎点击此处反馈访问过程中出现的问题