Redis 發布 pub 與訂閱 sub 模式

2021-10-25 16:22:47 字數 2434 閱讀 9158

發布端發布訊息,訂閱端處於監聽模式和狀態,等待接收相應的訊息。

訂閱者1

[root@localhost ~]# redis-cli

127.0.0.1:6379> auth auskat

ok127.0.0.1:6379> subscribe food auskat-springboot auskat-vue auskat-nginx

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

1) "subscribe"

2) "food"

3) (integer) 1

1) "subscribe"

2) "auskat-springboot"

3) (integer) 2

1) "subscribe"

2) "auskat-vue"

3) (integer) 3

1) "subscribe"

2) "auskat-nginx"

3) (integer) 4

訂閱者2

[root@localhost ~]# redis-cli

127.0.0.1:6379> auth auskat

ok127.0.0.1:6379> subscribe food auskat-springboot

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

1) "subscribe"

2) "food"

3) (integer) 1

1) "subscribe"

2) "auskat-springboot"

3) (integer) 2

訂閱者3

[root@localhost ~]# redis-cli

127.0.0.1:6379> auth auskat

ok127.0.0.1:6379> psubscribe auskat*

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

1) "psubscribe"

2) "auskat*"

3) (integer) 1

發布者1

redis-cli

auth auskat

publish auskat-springboot redis

publish food orange

訂閱者1 客戶端資訊

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

1) "subscribe"

2) "food"

3) (integer) 1

1) "subscribe"

2) "auskat-springboot"

3) (integer) 2

1) "subscribe"

2) "auskat-vue"

3) (integer) 3

1) "subscribe"

2) "auskat-nginx"

3) (integer) 4

1) "message"

2) "auskat-springboot"

3) "redis"

1) "message"

2) "food"

3) "orange"

訂閱者2 客戶端資訊

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

1) "subscribe"

2) "food"

3) (integer) 1

1) "subscribe"

2) "auskat-springboot"

3) (integer) 2

1) "message"

2) "auskat-springboot"

3) "redis"

1) "message"

2) "food"

3) "orange"

訂閱者3 客戶端資訊

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

1) "psubscribe"

2) "auskat*"

3) (integer) 1

1) "pmessage"

2) "auskat*"

3) "auskat-springboot"

4) "redis"

Redis 發布與訂閱

redis 自從2.0版本後,增加發布與訂閱等新特性,該功能有點類似設計模式中的觀察者模式,對訊息的生產者與接收者進行松耦合。也可以用該特性實現系統與系統之間的訊息傳遞,該功能的 的實現非常實用和高效。下面我們介紹一下,如何使用發布與訂閱 redis提供發布與訂閱幾個命令 subscribe cha...

redis發布與訂閱

redis在2.8.0版本之後出了乙個新功能,叫pub sub,也叫 發布與訂閱 在這篇文章中不僅要介紹它是如何用的,更重要的是要介紹它的應用場景。在之前介紹websocket之用tubesock在rails實現聊天室 五 的時候,就用redis的pub sub實現過聊天室。相關的 是這樣的 red...

Redis發布與訂閱

訂閱 發布訊息圖 第乙個 訊息傳送者,第二個 頻道 第三個 訊息訂閱者!下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 publish 命令傳送給頻道 channel1 時,這個訊息就會被傳送給訂閱它的三...