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

猜你喜欢

转载自www.cnblogs.com/gloria-liu/p/10232455.html