扫码一下
查看教程更方便
用于原子地从列表 source 中移除并返回最后一个元素,然后把这个元素插入为列表destination 的第一个元素。
例如: 假设 source 列表成员为 a,b,c,列表 destination 成员为 x,y,z。
执行 RPOPLPUSH source destination 的结果是列表 source 成员为a,b ,列表 destination 成员为c,x,y,z。
如果列表 source 不存在,返回 nil ,什么也不执行。
如果列表 source 和destination 相同,相当于从列表的一端删除元素,在放入列表的另一端,所以可以当做一个列表循环命令。
LMOVE 用来替换废弃的指令 RPOPLPUSH,相当于执行LMOVE RIGHT LEFT。
从 Redis 6.2.0起, RPOPLPUSH 被废弃,使用 LMOVE 替代。
redis RPOPLPUSH 命令基本语法如下:
redis 127.0.0.1:6379> RPOPLPUSH SOURCE_KEY_NAME DESTINATION_KEY_NAME
>= 1.0.0
被弹出的元素。
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 3
redis 127.0.0.1:6379> RPOPLPUSH mylist myotherlist
"bar"
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"
RPOPLPUSH 命令时间复杂度: O(1)