Redis實現中介軟體(訂閱)

2021-09-23 13:56:03 字數 915 閱讀 7262

什麼是訊息中介軟體 發布訂閱 點對點   訊息中介軟體本身是非同步的通訊

案例:使用redis實現發布訂閱功能

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

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

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

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

client2 去發布主題 channel1主題  client5和client1訂閱主題

client2發布乙個主題  其他的去訂閱 消費掉

如何實現發布訂閱功能?

兩個redis客戶端去連線,

首先建立頻道:

另外開啟乙個客戶端,往這個頻道傳送值

可以觀察第乙個客戶端:

發布乙個 訂閱 乙個

生產者 消費者

中介軟體Redis 一 Redis簡介

redis是一款免費 開源 遵循bsd協議的高效能結構化儲存資料庫,可以滿足目前企業大部分應用中對於高效能資料儲存的需求。同時,它也是nosql not only sql 是非關聯式資料庫的一種,內建多種豐富多彩的資料結構,字串string,列表list,集合set,雜湊hash等將安裝包移動到 u...

PHP 中介軟體實現

注意 本文內容可能已經過時,優化的實現請參考 php 基於 psr 15 的中介軟體和請求處理 本文採用層層遞進的方式描述了中介軟體的實現。在很多計算機程式語言中,函式可以作為引數傳遞到另外乙個函式中。php 的例子如下 fun function function main fun main fun...

基於Redis的MQ中介軟體實現 目錄

眾所周知,redis提供了發布訂閱功能以及利用list資料結構可以實現訊息佇列的功能,本來這些也沒什麼技術難度,但是每次寫這些程式時候,生產者和消費者都要寫一些重複 管理redis 和一些容易混亂的 消費者如何實現發布訂閱和訊息佇列的消費 能不能有個中介軟體或者乙個工具 例如乙個通用的元件,比如乙個...