Redis擴充套件功能之發布與訂閱

2022-09-23 21:24:16 字數 1123 閱讀 8296

發布與訂閱這個模式在zookeeper中有詳細的闡述以及zookeeper是如何實現該功能的(參考zookeeper應用之一:資料發布與訂閱初體驗 - 池塘裡洗澡的鴨子 - (cnblogs.com)和zookeeper - 隨筆分類 - 池塘裡洗澡的鴨子 - (cnblogs.com))。redis同樣實現了該功能,下面**redis就這個功能是如何實現的。

redis提供了發布訂閱功能用於訊息的傳輸,其

發布訂閱機制包括三個部分,publisher,subscriber和channel:

發布者和訂閱者都是redis客戶端,channel則為redis伺服器端;

發布者將訊息傳送到某個的頻道,訂閱了這個頻道的訂閱者就能接收到這條訊息。

下面通過命令列模式模擬上訴過程,注意使用的命令:

1、redis客戶端1訂閱頻道1和頻道2

2、redis客戶端2將訊息發布在頻道1和頻道2上

3、redis客戶端1接收到頻道1和頻道2的訊息

退訂使用unsubscribe命令。以上以完全匹配模式,如何使用模糊匹配模式(類似正規表示式)可以使用psubscribe/punsubscribe。

總結:訂閱某個頻道或模式:

客戶端(client):  

屬性為pubsub_channels,該屬性表明了該客戶端訂閱的所有頻道

屬性為pubsub_patterns,該屬性表示該客戶端訂閱的所有模式

伺服器端(redisserver):

屬性為pubsub_channels,該伺服器端中的所有頻道以及訂閱了這個頻道的客戶端

屬性為pubsub_patterns

,該伺服器端中的所有模式和訂閱了這些模式的客戶端

Redis發布與訂閱功能

發布 訂閱 功能包含兩種角色 發布者和訂閱者。redis的發布與訂閱功能由publish subscribe psubscribe等命令組成。通過執行publish命令可以發布訊息 通過執行subscribe命令,客戶端可以訂閱乙個或多個頻道 通過執行psubscribe命令,客戶端可以訂閱乙個或多...

Redis 發布訂閱功能

在redis中發布訂閱功能是由publish subscribe unsubscribe psubscribe組成的。publish是發布,subscribe是訂閱,unsubscribe是取消訂閱,psubscribe是訂閱模式,所謂模式也就是可以對應多個頻道的 頻道 例如訂閱了 abc hell...

Redis之發布與訂閱

redis的發布訂閱功能由pubish,subscribe,psubscribe命令組成。通過執行subscribe命令,客戶端可以訂閱乙個或者多個頻道,從而成為這些頻道的訂閱者 subscriber 每當有其他客戶端向被訂的頻道傳送訊息時,頻道的所有訂閱者都會收到這條訊息。除了訂閱頻道之外,客戶端...