一、简介
- 单键多值。
- Redis列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部或者尾部。
- 底层实际是个双向链表,对两端的操作性能很高,通过索引下标操作中间的节点性能较差。
二、常用命令
-
lpush/rpush 从左边/右边插入一个或多个值。
-
lpop/rpop 从左边/右边弹出一个值。
-
rpoplpush 从key1列表右边弹出值,插入到key2列表左边
-
lrange
按照索引下标获得元素
-
lindex 按照索引下标获得元素(从左到右)
-
llen 获得列表长度
-
linsert before 在的后面插入插入值。
-
lrem 从左边删除n个value(从左到右)
-
lset 将列表key下标为index的值替换成value
三、数据结构
- List的数据结构为快速链表quickList
- 在列表元素较少的情况下会使用一块连续的内存地址存储,这个结构是ziplist,压缩列表。它将所有的元素紧挨着一起存储,分配一块连续的内存。
- 数据量较多时,为quickList