這篇文章給大家分享的是有關redis中的消息中間件怎么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務至上”的服務理念,堅持“二合一”的優(yōu)良服務模式,真誠服務每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及被動防護網(wǎng)等,在成都網(wǎng)站建設、營銷型網(wǎng)站、WAP手機網(wǎng)站、VI設計、軟件開發(fā)等項目上具有豐富的設計經(jīng)驗。
在Redis中消息的發(fā)布者和訂閱者不能直接進行通信,而是通過頻道來實現(xiàn)的。消息的發(fā)布者將消息發(fā)送到指定頻道中,而消息的訂閱者訂閱該頻道后,則會接受到該頻道中所有接收到的消息。
Redis為了實現(xiàn)發(fā)布訂閱功能,提供了很多新的命令,下面我們詳細介紹一下和發(fā)布訂閱功能相關的命令。
命令
發(fā)布消息
publish channel message
publish命令的返回值為該頻道的訂閱數(shù),因為該頻道沒有訂閱者,所以上圖中的代碼返回值為0。
訂閱消息
subscribe channel [channel ...]
subscribe命令在執(zhí)行成功后,命令行會阻塞,隨時等待著新的消息被發(fā)送。如果此時我們在向該頻道中發(fā)送消息,則該訂閱會立即返回我們發(fā)送的消息。
因為該頻道已經(jīng)有一個訂閱者了,所以上圖中的當我們執(zhí)行publish命令時返回的結(jié)果為1。
下面我們了解一下訂閱命令的注意事項。
客戶端在執(zhí)行訂閱命令后會進入訂閱狀態(tài),只允許輸入subscribe、psubscribe、unsubscribe、punsubscribe這四個命令。
新開啟的訂閱客戶端是無法接受到之前頻道中消息的,因為Redis不會對發(fā)布的消息進行持久化。
取消訂閱
unsubscribe [channel [channel ...]]
按照模式訂閱和取消訂閱
psubscribe pattern [pattern ...]
punsubscribe [pattern [pattern ...]]
查詢訂閱
查看活躍的頻道
pubsub channels
上面說的活躍的頻道指的是至少要有一個訂閱者。
查看頻道訂閱數(shù)
pubsub numsub
查看模式訂閱數(shù)
pubsub numpat
上述內(nèi)容就是Redis中發(fā)布訂閱的全部內(nèi)容,它和專業(yè)的消息中間件比例如Kafka、RocketMQ等。它不支持消息的堆積及回溯,如果我們在使用發(fā)布訂閱功能時,如果可以容忍上述中的缺點,那我們Redis中的發(fā)布訂閱功能可以優(yōu)先考慮。
感謝各位的閱讀!關于“Redis中的消息中間件怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!