二 redis的發布訂閱

2021-10-04 04:03:50 字數 873 閱讀 4009

redis不僅是快取資料庫的佼佼者,還能作分布式訊息中介軟體。

rabbitmq能做redis也能做,這篇就記一下redis作訊息中介軟體時的發布訂閱模式:

就使用三個關鍵字就能完成:

publish(發廣播),subscribe(訂閱),就記這前兩個就行了,敲出來會給你提示

channel(電台名), message(訊息)

記住,既然是發布訂閱,那你肯定是必須所有的redis客戶端都要連線同乙個redis伺服器啊,不可能連不同伺服器的redis還屬於同乙個廣播中心吧 。

我做了個小案例,就沒去掛載了

docker跑了個redis服務:宿主機埠8001對映到容器的6379。開三個終端連上8001這個埠的redis服務。

上圖中:第乙個視窗用作廣播電台,

不能說第乙個是廣播電台,是哪個客戶端用publish命令哪個就是廣播電台,但是像上面,用了subscribe訂閱電台後後兩個就進入了等待電台訊息的狀態,如果第三個想變為廣播電台,直接ctrl c退出,用publish命令發電台訊息就可以了,但是它原來做訂閱者時訂閱的電台ninini和wowowo就直接被清空了。

rabbitmq中都有關鍵字,模糊匹配模式,用來多樣化認清消費者,那這裡redis也有個自己的不把電台寫死的模式,正則:

很簡單:只需要把subscribe改為psubscribe就行了

比如:psubscribe *zhibo就是訂閱了所有連線同乙個redis伺服器的小夥伴往***zhibo發的訊息。

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...