Redis Brpop 命令作用详解
作者:林汐的学习笔记
BRPOP 是一个阻塞的列表弹出原语,该命令会按照给出的 key 顺序查看 list,并在找到的第一个非空 list 的尾部弹出一个元素,今天通过本文给大家介绍Redis Brpop 命令相关知识,感兴趣的朋友一起看看吧
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 ,第二个元素是被弹出元素的值。
到此这篇关于Redis Brpop 命令的文章就介绍到这了,更多相关Redis Brpop内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!