RPOPLPUSH source destination

用于原子地从列表 source 中移除并返回最后一个元素,然后把这个元素插入为列表destination 的第一个元素。

例如: 假设 source 列表成员为 a,b,c,列表 destination 成员为 x,y,z

执行 RPOPLPUSH source destination 的结果是列表 source 成员为a,b ,列表 destination 成员为c,x,y,z

如果列表 source 不存在,返回 nil ,什么也不执行。

如果列表 sourcedestination 相同,相当于从列表的一端删除元素,在放入列表的另一端,所以可以当做一个列表循环命令。

LMOVE 用来替换废弃的指令 RPOPLPUSH,相当于执行LMOVE RIGHT LEFT

从 Redis 6.2.0起, RPOPLPUSH 被废弃,使用 LMOVE 替代。 new code.

*返回值

多行字符串: 移除并又插入的元素。

*例子

redis>  RPUSH mylist "one"
(integer) 1
redis>  RPUSH mylist "two"
(integer) 2
redis>  RPUSH mylist "three"
(integer) 3
redis>  RPOPLPUSH mylist myotherlist
"three"
redis>  LRANGE mylist 0 -1
1) "one"
2) "two"
redis>  LRANGE myotherlist 0 -1
1) "three"
redis>