Redis(設計與實現):---釋出與訂閱介紹
一、頻道訂閱(SUBSCRIBE、PUBLISH)
- 通過執行SUBSCRIBE命令,客戶端可以訂閱一個或多個頻道,從而成為這些頻道的(subscriber)訂閱者 :每當有其他客戶端使用PUBLISH命令向被訂閱的頻道傳送訊息(message)時,頻道的所有訂閱者都會收到這條訊息
演示案例
- 假設A、B、C三個客戶端都執行了命令,那麼這三個客戶端就是"news.it"頻道的訂閱者,如下圖所示:
c SUBSCRIBE "news.it"
- 如果這時某個客戶端執行下面命令,向"news.it"頻道傳送訊息"hello",那麼"news.it"的三個訂閱者都將收到這條訊息,如下圖所示:
二、模式訂閱(PSUBSCRIBE)
客戶端還可以通過執行PSUBSCRIBE命令訂閱一個或多個模式,從 而成為這些模式的訂閱者:每當有其他客戶端向某個頻道傳送訊息時,訊息不僅會被髮送給 這個頻道的所有訂閱者,它還會被髮送給所有與這個頻道相匹配的模式的訂閱者
演示案例 舉個例子,假設如下圖所示:
- 客戶端A正在訂閱頻道"news.it"。
- 客戶端B正在訂閱頻道"news.et"
- 客戶端C和客戶端D正在訂閱與"news.it"頻道和"news.et"頻道相匹配的模式"news.[ie]t"
- 如果這時某個客戶端執行PUBLISH命令,向"news.it"頻道傳送訊息"hello",那麼不僅正在訂閱"news.it"頻道的客戶端A會收到消
息,客戶端C和客戶端D也同樣會收到訊息,因為這兩個客戶端正在訂閱匹配"news.it"頻道 的"news.[ie]t"模式,如下圖所示:
c PUBLISH "news.it" "hello"
與此類似,如果某個客戶端執行下面的命令,向"news.et"頻道傳送訊息"world",那麼不僅正在訂閱"news.et"頻道的客戶端B會收到消
息,客戶端C和客戶端D也同樣會收到訊息,因為這兩個客戶端正在訂閱匹配"news.et"頻道 的"news.[ie]t"模式,如下圖所示:
c PUBLISH "news.et" "world"
相關文章
- Redis 設計與實現 (六)--釋出訂閱Redis
- Redis 的訂閱與釋出Redis
- Laravel Redis釋出與訂閱.LaravelRedis
- Redis之釋出與訂閱Redis
- Redis系列(八):釋出與訂閱Redis
- redis 釋出與訂閱原理分析Redis
- 基於 Redis 的訂閱與釋出Redis
- 設計模式之釋出訂閱模式(2) Redis 釋出/訂閱模式設計模式Redis
- Redis實現訊息釋出訂閱Redis
- MQTT 釋出/訂閱模式介紹MQQT模式
- Redis釋出訂閱Redis
- Redisson 分散式鎖實現之前置篇 → Redis 的釋出/訂閱 與 LuaRedis分散式
- 使用Spring Data Redis 實現訂閱/釋出SpringRedis
- [實戰]laravel + redis訂閱釋出 +swoole實現實時訂單通知LaravelRedis
- Redis的釋出訂閱Redis
- 探索Redis設計與實現14:Redis事務淺析與ACID特性介紹Redis
- 每日 30 秒 ⏱ 釋出與訂閱
- JavaScript 設計模式之觀察者模式與釋出訂閱模式JavaScript設計模式
- Redis系列(三)-Redis釋出訂閱及客戶端程式設計Redis客戶端程式設計
- SpringBoot+Redis 實現訊息訂閱釋出Spring BootRedis
- Redis的釋出訂閱及.NET客戶端實現Redis客戶端
- node 訂閱釋出及實現
- Python–Redis實戰:第三章:Redis命令:第六節:釋出與訂閱PythonRedis
- 瑞士軍刀redis - 釋出訂閱Redis
- js設計模式--釋出訂閱模式JS設計模式
- 設計模式之釋出訂閱模式(1) 一文搞懂釋出訂閱模式設計模式
- Redis設計與實現Redis
- 《redis設計與實現》Redis
- MQTT-釋出與訂閱的報文MQQT
- Redis的訊息釋出和訂閱Redis
- js 實現簡單釋出訂閱模式JS模式
- JavaScript設計模式系列--釋出訂閱模式JavaScript設計模式
- JS設計模式七:釋出-訂閱模式JS設計模式
- Javascript設計模式之釋出-訂閱模式JavaScript設計模式
- 使用PostgreSQL替代Redis實現佇列、分散式鎖和釋出/訂閱SQLRedis佇列分散式
- 重構與模式(二)——釋出訂閱模式與中介者模式實際使用模式
- 釋出-訂閱方式實現非同步併發非同步
- 面試官:請實現Javascript釋出-訂閱模式面試JavaScript模式