用于原子地从列表 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 替代。 new code.
*返回值
多行字符串: 移除并又插入的元素。
*例子
redis>
RPUSH mylist "one"
(integer) 1redis> RPUSH mylist "two"
(integer) 2redis> RPUSH mylist "three"
(integer) 3redis> RPOPLPUSH mylist myotherlist
"three"redis> LRANGE mylist 0 -1
1) "one" 2) "two"redis> LRANGE myotherlist 0 -1
1) "three"