Redis的兩種訊息模式
阿新 • • 發佈:2018-11-25
Redis的兩種訊息模式
- 佇列模式
- 釋出訂閱模式
佇列模式
佇列模式下每個消費者可以同時從多個伺服器讀取訊息,但是每個訊息只能被一個消費者讀取。
在佇列模式下其實每次插入的資料都是載入在最前面的,而先插入的資料在後面,列表中始終維持了一個佇列故稱之為佇列模式。
10.220.5.171:6379> lpush list1 q1 (integer) 1 10.220.5.171:6379> lpush list1 q2 (integer) 2 10.220.5.171:6379> lpush list1 q3 (integer) 3 10.220.5.171:6379> lpush list1 q4 (integer) 4 10.220.5.171:6379> lrange list1 0 10 1) "q4" 2) "q3" 3) "q2" 4) "q1"
釋出-訂閱模式
釋出-訂閱模式下每個訊息被廣播到所有消費之中
左邊的圖表示有一個頻道,而一部分客戶端來訂閱這個頻道,然後釋出者來向頻道釋出訊息,那麼此時頻道的訂閱者都可以接受到這個訊息。
訊息訂閱模式演示:
- 在多個終端登入redis:
- 在後三個終端訂閱一個頻道
- 在第一個終端在chan1釋出一個訊息
- 此時可以看到後三個終端都收到了這個訊息,
其他操作
PUNSUBSCRIBE [pattern [pattern ...]] 退訂多個頻道 SUBSCRIBE channel [channel ...] 訂閱給定的一個或者多個頻道的資訊 UNSUBSCRIBE [channel [channel ...]] 退訂頻道