訂閱:subscribe 具體頻道
發布:publish 頻道 內容 可以將具體內容傳送到對應頻道,同時訂閱該頻道的所有客戶端都能接收到該訊息。
訂閱多個:
subscribe 具體頻道* 可以訂閱具體名稱開頭的多個頻道,即使後續增加了某個新的頻道只要在這個範圍內也可以收到新的訊息。
可以利用這個來完成redis的訊息多播功能。
在應用中,用getmessage獲取返回的訊息時,必須先休眠一會,因為發布和訂閱都有網路延遲,馬上執行得不到結果,常採用輪詢加休眠的方式來獲取結果。
redis的pubsub也有缺點,那就是如果某個消費者突然崩潰,那麼這段時間多播的訊息對於該消費者來說就是永久錯過了,如果redis宕機,那麼所有的訊息都會直接被丟棄,redis5中引入了乙個持久化訊息佇列stream來解決這個問題。
Redis 發布與訂閱
redis 自從2.0版本後,增加發布與訂閱等新特性,該功能有點類似設計模式中的觀察者模式,對訊息的生產者與接收者進行松耦合。也可以用該特性實現系統與系統之間的訊息傳遞,該功能的 的實現非常實用和高效。下面我們介紹一下,如何使用發布與訂閱 redis提供發布與訂閱幾個命令 subscribe cha...
redis發布與訂閱
redis在2.8.0版本之後出了乙個新功能,叫pub sub,也叫 發布與訂閱 在這篇文章中不僅要介紹它是如何用的,更重要的是要介紹它的應用場景。在之前介紹websocket之用tubesock在rails實現聊天室 五 的時候,就用redis的pub sub實現過聊天室。相關的 是這樣的 red...
Redis發布與訂閱
訂閱 發布訊息圖 第乙個 訊息傳送者,第二個 頻道 第三個 訊息訂閱者!下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 publish 命令傳送給頻道 channel1 時,這個訊息就會被傳送給訂閱它的三...