命令 RPOPLPUSH 在一个原子时间内,执行两个动作,一个是将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端;另一个是将 source 弹出的元素插入到列表 destination,作为 destination 列表的的头元素。
命令格式
RPOPLPUSH source destination
可用版本:1.2.0
时间复杂度:O(1)
命令参数
- source:弹出尾元素的指定列表 key。
- destination:插入头元素的指定列表 key。
命令返回值
RPOPLPUSH 命令返回有2种情况:
- 返回 nil,当指定的 source 列表为空(key 不存在)。
- 返回元素,当指定的 source 列表中存在可返回的元素时,返回改 source 的尾元素。
示例
redis> RPOPLPUSH list1 list2
(nil)
redis> LPUSH list1 white
(integer) 1
redis> RPOPLPUSH list1 list2
"white"