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。
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入门系列之队列和发布订阅模式
- 基于订阅/发布模式的简易聊天室实现(java+redis)
- redis 发布/订阅 模式
- redis发布订阅模式-redis系列教程
- Redis大总结之四:任务队列 | 发布/订阅模式
- Redis——发布订阅模式&虚拟内存
- Redis订阅和发布模式和Redis事务
- 使用redis的发布订阅模式实现消息队列
- Redis基础学习--Redis 事务(watch命令)、生存时间、排序、消息通知("发布/订阅"模式)、管道、节省空间
- redis 发布/订阅模式
- 15天玩转redis —— 第九篇 发布/订阅模式
- 基于spring-redis发布订阅模式的实现
- redis之发布与订阅(publish/subscribe模式)
- Redis——发布订阅模式&虚拟内存
- Redis源码分析(三十)--- pubsub发布订阅模式
- Redis发布订阅模式
- redis的发布订阅模式
- Redis - 发布/订阅模式
- redis的发布订阅模式pubsub
- 15天玩转redis —— 第九篇 发布/订阅模式