Redis(四)——訊息佇列
阿新 • • 發佈:2019-01-07
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