教程 > Redis教程 > Redis 命令 阅读:18

Redis RPOPLPUSH 命令

Redis RPOPLPUSH 命令

返回 Redis列表(list)


用于原子地从列表 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)

返回 Redis列表(list)

查看笔记

扫码一下
查看教程更方便