Redis?Brpop?命令作用詳解
Redis BRPOP 命令
BRPOP
是一個(gè)阻塞的列表彈出原語(yǔ)。 它是 RPOP 的阻塞版本,因?yàn)檫@個(gè)命令會(huì)在給定list無(wú)法彈出任何元素的時(shí)候阻塞連接。 該命令會(huì)按照給出的 key 順序查看 list,并在找到的第一個(gè)非空 list 的尾部彈出一個(gè)元素。
請(qǐng)?jiān)?nbsp;BLPOP 文檔 中查看該命令的準(zhǔn)確語(yǔ)義,因?yàn)?nbsp;BRPOP
和 BLPOP 基本是完全一樣的,除了它們一個(gè)是從尾部彈出元素,而另一個(gè)是從頭部彈出元素。
返回值
多批量回復(fù)(multi-bulk-reply): 具體來(lái)說(shuō):
- 當(dāng)沒有元素可以被彈出時(shí)返回一個(gè)
nil
的多批量值,并且 timeout 過(guò)期。 - 當(dāng)有元素彈出時(shí)會(huì)返回一個(gè)雙元素的多批量值,其中第一個(gè)元素是彈出元素的
key
,第二個(gè)元素是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右邊的最后一個(gè)元素, 如果列表沒有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止。
二、demo演示
向 list1 中插入三個(gè)元素 a、b、c
lpush list1 a b c
查看list1中的元素
lrange list1 0 -1
從右邊以Brpop 的方式取出元素
brpop list1 2
假如在指定時(shí)間內(nèi)沒有任何元素被彈出,則返回一個(gè) nil 和 等待時(shí)長(zhǎng)反之,返回一個(gè)含有兩個(gè)元素的列表,第一個(gè)元素是被彈出元素所屬的 key ,第二個(gè)元素是被彈出元素的值。
到此這篇關(guān)于Redis Brpop 命令的文章就介紹到這了,更多相關(guān)Redis Brpop內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
簡(jiǎn)介L(zhǎng)ua腳本與Redis數(shù)據(jù)庫(kù)的結(jié)合使用
這篇文章主要介紹了簡(jiǎn)介L(zhǎng)ua腳本與Redis數(shù)據(jù)庫(kù)的結(jié)合使用,Redis是基于主存的高性能數(shù)據(jù)庫(kù),需要的朋友可以參考下2015-06-06手把手教你使用redis實(shí)現(xiàn)排行榜功能
使用Redis中有序集合的特性來(lái)實(shí)現(xiàn)排行榜是又好又快的選擇,一般排行榜都是有實(shí)效性的,比如“用戶積分榜”,下面這篇文章主要給大家介紹了關(guān)于使用redis實(shí)現(xiàn)排行榜功能的相關(guān)資料,需要的朋友可以參考下2023-04-04Redis可視化工具Redis?Desktop?Manager的具體使用
本文主要介紹了Redis可視化工具Redis?Desktop?Manager的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Redis批量生成數(shù)據(jù)的實(shí)現(xiàn)
本文主要介紹了Redis批量生成數(shù)據(jù)的實(shí)現(xiàn),主要介紹了兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06分布式架構(gòu)Redis中有哪些數(shù)據(jù)結(jié)構(gòu)及底層實(shí)現(xiàn)原理
這篇文章主要為大家介紹了分布式架構(gòu)Redis中有哪些數(shù)據(jù)結(jié)構(gòu)及底層的實(shí)現(xiàn)原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03Redis模擬延時(shí)隊(duì)列實(shí)現(xiàn)日程提醒的方法
文章介紹了如何使用Redis實(shí)現(xiàn)一個(gè)簡(jiǎn)單的延時(shí)任務(wù)隊(duì)列,通過(guò)Redis的有序集合特性來(lái)存儲(chǔ)和管理延時(shí)任務(wù),通過(guò)定期檢查集合中小于等于當(dāng)前時(shí)間的任務(wù)并執(zhí)行,可以實(shí)現(xiàn)延時(shí)任務(wù)的管理,感興趣的朋友跟隨小編一起看看吧2024-11-11