您的位置:首页 > 数据库 > Redis

redis-发布、订阅模式

2017-04-23 10:44 393 查看
(1)发布、订阅模式
1、发布者发布消息的命令是PUBLISH,用法是 PUBLISH channel message
返回值:收到这条消息的订阅者数量。

2、订阅频道的命令是SUBSCRIBE,可以同时订阅多个频道,用法是:SUBSCRIBE channel [channel...]
执行SUBSCRIBE命令后客户端会进入订阅状态,处于此状态的客户端不能使用SUBSCRIBE、UNSUBSCRIBE、PSUBSCRIBE、PUNSUBSCRIBE 这4个属于"发布/订阅"模式的命令之外的命令。

进入订阅状态后客户端可能会收到三种类型的回复。每种类型的回复都包括3个值,第一个值是消息的类型,根据消息类型的不同,第二、三个值的含义也不同。
消息类型可能的取值有:
a、subscribe。表示订阅成功的反馈信息,第二个值是订阅成功的频道名称,第三个值是当前客户端订阅的频道数量。
b、message。这个类型的回复是我们最关心的,它表示接收到的消息。第二个值表示消息的频道名称,第三个值是消息的内容。
c、unsubscribe。表示成功取消订阅某个频道。第二个值是对应的频道名称,第三个值是当前客户端订阅的频道数量。当此值为0时客户端就会退出订阅状态,之后就可以执行其它非"发布/订阅"模式的命令。



(2)按照规则订阅
可以使用PSUBSCRIBE命令订阅指定的规则。规则支持glob风格通配符格式。



使用PSUBSCRIBE命令可以重复订阅一个频道,如果某客户端执行了PSUBSCRIBE channel.? channel.?*,这时向channel.2发布消息,该客户端会收到两条消息,而PUBLISH命令返回的值也是2而不是1。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis