Redis教程(九) Redis发布与订阅
2016-09-29 14:27
253 查看
Redis教程(九)
Redis发布与订阅
1 Redis发布与订阅
Redis的发布与订阅功能可以让用户将消息同时发送给多个客户端。
概念:
发布者(publisher):发布消息的客户端。
频道(channel):构建在服务器内部,负责接收发布者发送的消息,并将消息转发给频道的订阅者。
模式(pattern):构建在服务器内部,负责对频道进行匹配,当被匹配的频道接到消息时,模式也会将消息转发给模式的订阅者。
订阅者(subscriber):通过订阅频道或者模式来获取消息的客户端。每个频道或者模式都可以有任意多个订阅者。
1.1 发布与订阅类型
1、频道客户端订阅与消息发布:
B
、 C
、 D
三个客户端正在订阅 news::it
频道。当客户端 A
向 news::it
频道发送消息
“hello world”
时,该消息将被频道转发至 B
、 C
、 D
三个客户端。
2、
模式客户端订阅与消息发布:
客户端 C
和 D
订阅了 news::[ie]t
模式,而这个模式又和 news::it
、 news::et
两个频道匹配,当 news::it
频道或者 news::et
频道接收到消息的时候,这些消息不仅会被转发给频道的订阅者,也会被转发给客户端 C
和 D
。
3、
模式订阅者接收消息示例:
4、
SUBSCRIBE命令:订阅给定的一个或多个频道的信息。
客户端一:远程连接Redis:/usr/local/software/redis-3.2.1/src/redis-cli
-h 127.0.0.1 -p 6379-a "mypass"
命令:SUBSCRIBE
news::it
# "subscribe" #
返回值的类型:显示订阅成功。
# "news::it" #
订阅的频道名字
# (integer) 1 #
目前已订阅的频道数量
# "message" #
返回值的类型:信息
# "news::it" #
来源
5、
PUBLISH命令:将信息
message 发送到指定的频道 channel
。返回值:接收到信息 message
的订阅者数量。
客户端二:远程连接Redis:/usr/local/software/redis-3.2.1/src/redis-cli-h
127.0.0.1 -p 6379 -a "mypass"
PUBLISH news::it 'send message to news::it number1'
客户端一:订阅者接收到的消息。
6、
PUBSUB命令:PUBSUB
是一个查看订阅与发布系统状态的内省命令,
它由数个不同格式的子命令组成,
以下将分别对这些子命令进行介绍。列出当前的活跃频道。活跃频道指的是那些至少有一个订阅者的频道,
订阅模式的客户端不计算在内。
pattern
参数是可选的:
如果不给出pattern
参数,那么列出订阅与发布系统中的所有活跃频道。
如果给出 pattern
参数,那么只列出和给定模式pattern
相匹配的那些活跃频道。
7、
PUBSUB NUMSUB命令:返回给定频道的订阅者数量,
订阅模式的客户端不计算在内。
8、
PUBSUB NUMPAT命令:
返回订阅模式的数量。
--以上为《Redis教程(九) Redis发布与订阅》,如有不当之处请指出,我后续逐步完善更正,大家共同提高。谢谢大家对我的关注。
——厚积薄发(yuanxw)
相关文章推荐
- redis发布订阅模式-redis系列教程
- Redis教程–解析发布与订阅
- Redis教程(九) Redis发布与订阅
- Linux+Redis实战教程_day02_Redis特性(数据库、服务器命令、消息订阅与发布、事务)
- Redis教程03——Redis 发布/订阅(Pub/Sub)
- redis学习笔记六之发布订阅
- Redis 发布与订阅
- redis 发布订阅
- python的redis,实用订阅发布简单实用代码
- redis发布订阅和自定义的命令组合
- redis代码 发布订阅
- redis数据库之订阅和发布
- 数据库同步之SQL Server 2005发布订阅教程
- Redis实战(12)订阅和发布消息
- Spring Data Redis实现一个订阅/发布系统
- Redis系列-JAVA与redis整合-Spring Data Redis实现一个订阅/发布系统
- 六 redis学习笔记之发布订阅
- .redis 发布订阅
- Redis高级实用特性:发布及订阅消息
- NoSQL之Redis高级应用--发布及订阅消息