redis命令 Lpop/LPUSHX/LINSERT

1.redis 命令 Lpop/LPUSHX/LINSERT

LPOP
移出并获取列表的第一个元素
LPOP key [count]
可用版本:
1.0.0
时间复杂度:
O(N) 其中 N 是返回的元素数
ACL 类别:
@write, @list, @fast
删除并返回存储在的列表的第一个元素key。
默认情况下,该命令从列表的开头弹出一个元素。当提供可选count参数时,回复将由多达count元素组成,具体取决于列表的长度。
#返回
不带count参数调用时:
批量字符串回复:第一个元素的值,或者nil什么时候key不存在。
当使用count参数调用时:
数组回复:弹出元素的列表,或者nil何时key不存在。
#例子
redis> RPUSH mylist "one" "two" "three" "four" "five"
(integer) 5
redis> LPOP mylist
"one"
redis> LPOP mylist 2 #2秒后从左边弹出一个元素。
1) "two"
2) "three"
redis> LRANGE mylist 0 -1
1) "four"
2) "five"
redis> 
#历史
从 Redis 版本 6.2.0 开始:添加了count参数

LPUSHX 
将一个或多个值插入到已存在的列表头部
将一个或多个值插入到已存在的列表头部

句法

LPUSHX key element [element ...]
可用版本:
2.2.0
时间复杂度:
每个添加的元素 O(1),因此当使用多个参数调用命令时添加 N 个元素是 O(N)。
ACL 类别:
@write, @list, @fast
仅当key已存在并持有一个列表时,才在存储在key处的列表的开头插入指定的值。与 相反LPUSH,不存在时key不执行任何操作。
#返回
整数回复:推送操作后的列表长度。

#例子
redis> LPUSH mylist "World"
(integer) 1
redis> LPUSHX mylist "Hello"
(integer) 2
redis> LPUSHX myotherlist "Hello"
(integer) 0
redis> LRANGE mylist 0 -1
1) "Hello"
2) "World"
redis> LRANGE myotherlist 0 -1
(empty array)
redis> 
192.168.1.80:6400> lpushx list1 "123" "xsq1" "xsq2" #从列表的左边依次插入多个值。
(integer) 4
192.168.1.80:6400> lrange list1 0 -1
1) "xsq2"
2) "xsq1"
3) "123"
4) "c"
#历史
从 Redis 版本 4.0.0 开始:接受多个element参数。

LINSERT
在列表的元素前或者后插入元素
语法
LINSERT key <BEFORE | AFTER> pivot element
可用版本:
2.2.0
时间复杂度:
O(N) 其中 N 是在看到值枢轴之前要遍历的元素数。这意味着在列表左端(头)的某处插入可以认为是 O(1),而在右端(尾)的某处插入是 O(N)。
ACL 类别:
@write, @list, @slow
在存储在key处的列表中,在引用值pivot之前或之后插入element。
当key不存在时,则认为是一个空列表,不进行任何操作。
key存在但不包含列表值时返回错误。
#返回
整数回复:成功插入操作后的列表长度,如果key不存在则为0,如果找不到pivot则为-1。

#例子
redis> RPUSH mylist "Hello"
(integer) 1
redis> RPUSH mylist "World"
(integer) 2
redis> LINSERT mylist BEFORE "World" "There" #在 world 的前面插入 There 
(integer) 3
redis> LRANGE mylist 0 -1
1) "Hello"
2) "There"
3) "World"
redis> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值