Redis 列表命令记录

#新增的常用命令
#从列表右端插入值(1-N个) (rpush listkey c b a)
rpush key value1 value2 ... valueN
#时间复杂度为 O(1-N)

#从列表左端插入值(1-N个) (lpush listkey c b a)
lpush key value1 value2 ... valueN
#时间复杂度为 O(1-N)

#在指定list的值前|后插入newValue (linsert listkey before b java)(linsert listkey after b php)
linsert key before|after value newValue
#时间复杂度为O(n)

#删除的常用命令
#从列表左侧弹出一个item
lpop key 
#时间复杂度为O(1)

#从列表右侧弹出一个item
rpop key 
#时间复杂度为O(1)

#从列表中删除一个item
#根据count值,从列表中删除所有value相等的项
#1.count>0,从左到右,删除最多count个value相等的项
#1.count<0,从右到左,删除最多Math.abs(count)个value相等的项
#1.count=0,删除所有value相等的项
lrem key count value
#时间复杂度为O(n)

#按照索引的范围修剪列表 (ltrim listkey 1 4)
ltrim key start end
#时间复杂度为O(n)

#查询的常用命令
#获取列表指定索引范围所有的item 索引从左到右是0~5 索引从右到左是-1~-6  (lrange listkey 0 2)
lrange key start end(包含end)
#时间复杂度为O(n)

#修改命令
#设置列表指定索引值为newValue
lset key index newValue
#时间复杂度为O(n)

#不常用命令
#lpop阻塞版本,timeout是阻塞超时时间,timeout=0为永远不阻塞
#blpop key timeout
#时间复杂度为O(1)

#rpop阻塞版本,timeout是阻塞超时时间,timeout=0为永远不阻塞
#brpop key timeout
#时间复杂度为O(1)


posted @ 2019-10-21 16:44  青柚  阅读(218)  评论(0编辑  收藏  举报