1. 程式人生 > >Redis(四)——訊息佇列

Redis(四)——訊息佇列

redis 支援訊息佇列。釋出訂閱即是一種訊息通訊模式:傳送者傳送訊息,訂閱者訂閱訊息。

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

(一)釋出訂閱
使用 publish 指令,格式為 publish channel message

127.0.0.1:6379> publish fruit "apple"
(integer) 0
 

該返回值為0,說明沒有人訂閱

(二)訂閱訊息
使用subscribe指令接受訊息,格式為 subscribe channel

127.0.0.1:6379> subscribe fruit
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "fruit"
3) (integer) 1

可以看到使用SUBSCRIBE指令後進入了訂閱模式,但沒有接收到publish傳送的訊息,這是因為只有在訊息發出去前訂閱才會接收到。在這個模式下其他指令,只能看到回覆。
回覆資訊分為3類:
1 如果為subscribe,第二個值表示訂閱的頻道,如上述程式碼

2 如果為message(訊息),第二個值為產生該訊息的頻道,第三個值為訊息,如圖:

3 如果退訂訊息 ,第二個值表示取消訂閱的頻道,第三個值表示當前客戶端的訂閱數量。則接受資訊如下

(三)取消訂閱
使用Unsubscribe 指令,格式為 UNSUBSCRIBE channel [channel ...]

127.0.0.1:6379>  unsubscribe fruit
1) "unsubscribe"
2) "fruit"
3) (integer) 0