1.redis 命令 Brpoplpush
从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
从 Redis 版本 6.2.0 开始,此命令被视为已弃用。
它可以替换为BLMOVE在迁移或编写新代码时使用RIGHT和LEFT参数。 句法
BRPOPLPUSH source destination timeout
192.168.1.80:6400> lrange list1 0 -1
1) "c"
2) "d"
192.168.1.80:6400> brpoplpush list1 list2 0 #将list1的最右边的元素弹出,并从List2的左侧插入。
"d"
192.168.1.80:6400> lrange list1 0 -1
1) "c"
192.168.1.80:6400> lrange list2 0 -1
1) "d"
2) "l"
3) "ml"
可用版本。:
2.2.0
时间复杂度:
O(1)
ACL 类别:
@write, @list, @slow, @blocking
BRPOPLPUSH 是 RPOPLPUSH的阻塞变体。当source包含元素时,此命令的行为与RPOPLPUSH完全相同. 在MULTI中使用时/EXEC块,
此命令的行为与RPOPLPUSH完全相同. 当source为空时,Redis将阻止连接,直到另一个客户端推送它或达到timeout。
零的timeout`可以用于无限期地阻止`。
#返回
批量字符串回复:从中弹出source和推送到的元素destination。如果timeout达到,则返回Null 回复。
#模式:可靠队列
请参阅RPOPLPUSH文档中的模式描述。
#模式:循环列表
请参阅RPOPLPUSH文档中的模式描述。
#历史
从 Redis 版本 6.0.0 开始:timeout被解释为双精度而不是整数。
939

被折叠的 条评论
为什么被折叠?



