Redis Brpop 命令作用详解

寻技术 Redis 2024年05月27日 46

Redis BRPOP 命令

BRPOP 是一个阻塞的列表弹出原语。 它是 RPOP 的阻塞版本,因为这个命令会在给定list无法弹出任何元素的时候阻塞连接。 该命令会按照给出的 key 顺序查看 list,并在找到的第一个非空 list 的尾部弹出一个元素。

请在 BLPOP 文档 中查看该命令的准确语义,因为 BRPOP 和 BLPOP 基本是完全一样的,除了它们一个是从尾部弹出元素,而另一个是从头部弹出元素。

返回值

多批量回复(multi-bulk-reply): 具体来说:

  • 当没有元素可以被弹出时返回一个 nil 的多批量值,并且 timeout 过期。
  • 当有元素弹出时会返回一个双元素的多批量值,其中第一个元素是弹出元素的 key,第二个元素是 value

例子:

redis> DEL list1 list2
(integer) 0
redis> RPUSH list1 a b c
(integer) 3
redis> BRPOP list1 list2 0
1) "list1"
2) "c"

一、作用

Redis Brpop 命令拥有移出并获取list右边的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

二、demo演示

向 list1 中插入三个元素 a、b、c

lpush list1 a b c

查看list1中的元素

lrange list1 0 -1

在这里插入图片描述

从右边以Brpop 的方式取出元素

brpop list1 2

假如在指定时间内没有任何元素被弹出,则返回一个 nil 和 等待时长反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。

在这里插入图片描述

关闭

用微信“扫一扫”