溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Redis中的消息中間件怎么用

發(fā)布時間:2021-11-16 13:36:27 來源:億速云 閱讀:293 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)Redis中的消息中間件怎么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

在Redis中消息的發(fā)布者和訂閱者不能直接進(jìn)行通信,而是通過頻道來實現(xiàn)的。消息的發(fā)布者將消息發(fā)送到指定頻道中,而消息的訂閱者訂閱該頻道后,則會接受到該頻道中所有接收到的消息。

Redis中的消息中間件怎么用

Redis為了實現(xiàn)發(fā)布訂閱功能,提供了很多新的命令,下面我們詳細(xì)介紹一下和發(fā)布訂閱功能相關(guān)的命令。


命令

  • 發(fā)布消息

publish channel message
Redis中的消息中間件怎么用



publish命令的返回值為該頻道的訂閱數(shù),因為該頻道沒有訂閱者,所以上圖中的代碼返回值為0。


  • 訂閱消息

subscribe channel [channel ...]
Redis中的消息中間件怎么用
Redis中的消息中間件怎么用
Redis中的消息中間件怎么用



subscribe命令在執(zhí)行成功后,命令行會阻塞,隨時等待著新的消息被發(fā)送。如果此時我們在向該頻道中發(fā)送消息,則該訂閱會立即返回我們發(fā)送的消息。


因為該頻道已經(jīng)有一個訂閱者了,所以上圖中的當(dāng)我們執(zhí)行publish命令時返回的結(jié)果為1。


下面我們了解一下訂閱命令的注意事項。

  • 客戶端在執(zhí)行訂閱命令后會進(jìn)入訂閱狀態(tài),只允許輸入subscribe、psubscribe、unsubscribe、punsubscribe這四個命令。

  • 新開啟的訂閱客戶端是無法接受到之前頻道中消息的,因為Redis不會對發(fā)布的消息進(jìn)行持久化。


  • 取消訂閱

unsubscribe [channel [channel ...]]
Redis中的消息中間件怎么用

  • 按照模式訂閱和取消訂閱

psubscribe pattern [pattern ...]
punsubscribe [pattern [pattern ...]]
Redis中的消息中間件怎么用

查詢訂閱

  • 查看活躍的頻道

pubsub channels
Redis中的消息中間件怎么用



上面說的活躍的頻道指的是至少要有一個訂閱者。


  • 查看頻道訂閱數(shù)

pubsub numsub
Redis中的消息中間件怎么用

  • 查看模式訂閱數(shù)

pubsub numpat
Redis中的消息中間件怎么用

上述內(nèi)容就是Redis中發(fā)布訂閱的全部內(nèi)容,它和專業(yè)的消息中間件比例如Kafka、RocketMQ等。它不支持消息的堆積及回溯,如果我們在使用發(fā)布訂閱功能時,如果可以容忍上述中的缺點(diǎn),那我們Redis中的發(fā)布訂閱功能可以優(yōu)先考慮。

感謝各位的閱讀!關(guān)于“Redis中的消息中間件怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI