Redis發布訂閱

2022-08-29 06:18:11 字數 1480 閱讀 8841

redis 發布訂閱(pub/sub)是一種訊息通訊模式:傳送者(pub)傳送訊息,訂閱者(sub)接收訊息。

發布者不是計畫傳送訊息給特定的接收者(訂閱者),而是發布的訊息分到不同的頻道,不需要知道什麼樣的訂閱者訂閱

訂閱者對乙個或多個頻道感興趣,只需接收感興趣的訊息,不需要知道什麼樣的發布者發布的

發布者和訂閱者的解耦合可以帶來更大的擴充套件性和更加動態的網路拓撲

客戶端發到頻道的訊息,將會被推送到所有訂閱此頻道的客戶端

客戶端不需要主動去獲取訊息,只需要訂閱頻道,這個頻道的內容就會被推送過來

redis 客戶端可以訂閱任意數量的頻道。

下圖展示了頻道 channel1 , 以及訂閱這個頻道的三個客戶端 —— client2 、 client5 和 client1 之間的關係:

當有新訊息通過 publish 命令傳送給頻道 channel1 時, 這個訊息就會被傳送給訂閱它的三個客戶端:

例項以下例項演示了發布訂閱是如何工作的。在我們例項中我們建立了訂閱頻道名為 redischat:

現在,我們先重新開啟個 redis 客戶端,然後在同乙個頻道 redischat 發布兩次訊息,訂閱者就能接收到訊息。

發布者(publisher)

訂閱者(subscriber)

頻道(channel)

下表列出了 redis 發布訂閱常用命令:

1> psubscribe 命令:訂閱乙個或多個符合給定模式的頻道

格式:psubscribe pattern [pattern ...]

2> pubsub 命令:檢視訂閱與發布系統狀態

格式:pubsub subcommand [argument [argument ...]]

3> publish 命令:將資訊傳送到指定的頻道

格式:publish channel message

4> punsubscribe 命令:退訂所有給定模式的頻道

格式:punsubscribe [pattern [pattern ...]]

5> subscribe 命令:訂閱給定的乙個或多個頻道的資訊

格式:subscribe channel [channel ...]

6> unsubscribe 命令:指退訂給定的頻道

格式:unsubscribe [channel [channel ...]]

Redis 發布訂閱

redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收訊息。redis 客戶端可以訂閱任意數量的頻道。下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 pu...

Redis 發布訂閱

redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 publish 傳送訊息,訂閱者 subscribe 接收訊息。redis 客戶端可以訂閱任意數量的頻道。下圖是 頻道 channel1 以及訂閱這個頻道的三個客戶端 client1 client2和 client3 當有新訊息通過 ...

Redis發布訂閱

概述 redis發布訂閱 pub sub 是種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 訂閱訊息。redis客戶端可以訂閱任意數量的頻道。下圖展示了頻道channel以及訂閱它的三個客戶端 client2 client5和client1之間的關係 當有新的訊息publish到chann...