2019 6 17 redis發布訂閱

2021-09-24 13:08:21 字數 1678 閱讀 1741

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

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

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

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

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

redis 127.0.0.1:6379> subscribe redischat

reading messages... (press ctrl-c to quit)

1) "subscribe"

2) "redischat"

3) (integer) 1

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

redis 127.0.0.1:6379> publish redischat "redis is a great caching technique"

(integer) 1

redis 127.0.0.1:6379> publish redischat "learn redis by runoob.com"

(integer) 1

# 訂閱者的客戶端會顯示如下訊息

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

序號命令及描述

1psubscribe pattern [pattern ...]

訂閱乙個或多個符合給定模式的頻道。

2pubsub subcommand [argument [argument ...]]

檢視訂閱與發布系統狀態。

3publish channel message

將資訊傳送到指定的頻道。

4punsubscribe [pattern [pattern ...]]

退訂所有給定模式的頻道。

5subscribe channel [channel ...]

訂閱給定的乙個或多個頻道的資訊。

6unsubscribe [channel [channel ...]]

指退訂給定的頻道。

redis發布訂閱c介面 Redis發布訂閱

適用場景 直播訊息 彈幕訊息 粉絲訂閱訊息推送 知識點1 關鍵字 publish subscribe psubscribe redis採用publish命令傳送訊息,其返回值為接收到該訊息的訂閱者的數量。redis採用subscribe命令訂閱某個頻道,其返回值包括客戶端訂閱的頻道,目前已訂閱的頻道...

golang使用rabbitmq(三)發布 訂閱

rabbitmq訊息傳遞模型的核心是生產者永遠不會把訊息直接傳送到某個佇列上,甚至根本不知道訊息是否傳送到佇列上。生產者只向交換器傳送訊息。交換器來決定怎麼處理訊息,是把訊息傳遞到特定的佇列,還是把訊息傳到多個佇列,或者直接丟棄訊息,這一切取決於交換器的型別。交換器的型別有四種 direct,top...

Redis 發布訂閱

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