你還不懂Redis的發布訂閱模式呢?

2021-10-25 19:26:09 字數 926 閱讀 4481

一、什麼是發布訂閱

其實就是mq,被訂閱者寫訊息,訂閱者們實時讀到訊息進行處理。

在說這之前,前面提到的list型別blpop也是可以模擬單播阻塞佇列的。但是他終歸是模擬。redis為我們提供了屬於他自己的發布訂閱。核心命令:

只有已訂閱的客戶端才能收到訊息,比如我給test傳送了一條helloworld,他會發給當前所有訂閱test的客戶端推送helloworld這條訊息,後來的客戶端再去訂閱test,也不會收到這個歷史訊息。

# 客戶端1給test傳送hello

127.0.0.1:6379> publish test helloworld

(integer) 0

# 這時候啟動client2去訂閱test,結果發現不會輸出任何內容,也就是歷史的helloworld我不會收到

127.0.0.1:6379> subscribe test

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

1) "subscribe"

2) "test"

3) (integer) 1

# 這時候我在去客戶端1給test這個channel傳送hello

127.0.0.1:6379> publish test hello

(integer) 1

# 切換到client2,發現收到了hello這條訊息

如果你還不懂發布訂閱,看這篇文章就夠了!

發布訂閱 是一種程式設計的思想 發布訂閱的思想 先進行訂閱,把要執行的一些方法先儲存到乙個事件池中 當條件成立時,進行發布的操作 發布時,遍歷事件池中的所有的方法,讓這些方法依次執行 attachevent dom2級相容的處理就是採用發布訂閱的思想 on 訂閱事件 emit 發布事件 off 取消...

Redis的發布訂閱

一般不用做訊息發布訂閱。簡介redis發布訂閱 pub sub 是一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收訊息。redis客戶端可以訂閱任意數量的頻道。下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關...

Redis的發布訂閱

一 redis的發布訂閱 程序間的一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收資訊。訂閱 發布訊息圖 二 訂閱 發布訊息常用命令 psubscribe patterm patterm 訂閱乙個或多個符合給定模式的頻道 pubsub subcommand argument argu...