您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Redis中的消息中間件怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在Redis中消息的發布者和訂閱者不能直接進行通信,而是通過頻道來實現的。消息的發布者將消息發送到指定頻道中,而消息的訂閱者訂閱該頻道后,則會接受到該頻道中所有接收到的消息。
Redis為了實現發布訂閱功能,提供了很多新的命令,下面我們詳細介紹一下和發布訂閱功能相關的命令。
命令
發布消息
publish channel message
publish命令的返回值為該頻道的訂閱數,因為該頻道沒有訂閱者,所以上圖中的代碼返回值為0。
訂閱消息
subscribe channel [channel ...]
subscribe命令在執行成功后,命令行會阻塞,隨時等待著新的消息被發送。如果此時我們在向該頻道中發送消息,則該訂閱會立即返回我們發送的消息。
因為該頻道已經有一個訂閱者了,所以上圖中的當我們執行publish命令時返回的結果為1。
下面我們了解一下訂閱命令的注意事項。
客戶端在執行訂閱命令后會進入訂閱狀態,只允許輸入subscribe、psubscribe、unsubscribe、punsubscribe這四個命令。
新開啟的訂閱客戶端是無法接受到之前頻道中消息的,因為Redis不會對發布的消息進行持久化。
取消訂閱
unsubscribe [channel [channel ...]]
按照模式訂閱和取消訂閱
psubscribe pattern [pattern ...]
punsubscribe [pattern [pattern ...]]
查詢訂閱
查看活躍的頻道
pubsub channels
上面說的活躍的頻道指的是至少要有一個訂閱者。
查看頻道訂閱數
pubsub numsub
查看模式訂閱數
pubsub numpat
上述內容就是Redis中發布訂閱的全部內容,它和專業的消息中間件比例如Kafka、RocketMQ等。它不支持消息的堆積及回溯,如果我們在使用發布訂閱功能時,如果可以容忍上述中的缺點,那我們Redis中的發布訂閱功能可以優先考慮。
感謝各位的閱讀!關于“Redis中的消息中間件怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。