列表类型
可以存储有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段。
列表类型是使用双向链表实现的,添加元素时间复杂度为O(1),查询代价高
常用命令:
1、向列表两端增加元素
LPUSH key value [value...] 从左端添加
RPUSH key value [value...] 从右端添加
2、从列表两端弹出元素
弹出后数据将从列表中删除
LPOP key 从左端弹出
RPOP key 从右端弹出
3、获取列表中元素个数
LLEN key
当键不存在的时候会返回0
4、获得列表片段
LRANGE key start stop 命令LRANGE不会删除该片段,元素列表的起始索引是0
支持负索引,-1表示右边第一个元素,-2表示第二个……,例如LRANGE nums -3,-1
LRANGE key 0 -1 可以获取列表的所有元素
如果start位置比stop位置靠后会返回空列表
如果stop超过最大实际范围,会返回直到最右边元素
5、删除列表中指定的值
LREM key count value 会删除前count个值为value的元素,返回值是实际删除的元素个数。
count>0,LREM会从左边开始删除前count个值为value的元素;
count<0,LREM会从右边开始删除前|count|个值为value的元素;
count=0,LREM会删除所有值为value的元素;
6、获得/设置指定索引的元素值
LINDEX key index
LSET key index value
7、只保留指定片段
LTRIM key start end
8、向列表中插入元素
LINSERT key BEFORE|AFTER pivot value
在列表中查找pivot元素根据是BEFORE还是AFTER来决定插值在前还是后
9、将元素从一个列表转到另一个列表
RPOPLPUSH source destination 先执行RPOP再执行LPUSH