Redis的订阅与发布

来源:互联网 发布:linux日志分析软件 编辑:程序博客网 时间:2024/04/29 11:49

Redis的订阅与发布

Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端。
作为例子, 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:



 当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:



 上面描述了订阅与发布的关系。

现在我们使用几个客户端来模拟一下redis的订阅与发布

客户端一:

客户端二:

客户端三:

 信息发布者:

 现在看一下每一个订阅者受到的消息:


订阅者返回的数据说明:

Java代码  收藏代码
  1. redis 127.0.0.1:6379> SUBSCRIBE tv  
  2. Reading messages... (press Ctrl-C to quit)  
  3. 1"subscribe"  
  4. 2"tv"  
  5. 3) (integer) 1  

 命令:subscribe tv 表示订阅了tv这个频道。

返回的三行记录表示:表示当前客户端成功地订阅了信息第二个元素所指示的频道。而信息的第三个元素则记录了目前客户端已订阅频道的总数。

发布消息后,订阅者接收消息

订阅,接受消息代码  收藏代码
  1. redis 127.0.0.1:6379> SUBSCRIBE tv  
  2. Reading messages... (press Ctrl-C to quit)  
  3. 1"subscribe"  
  4. 2"tv"  
  5. 3) (integer) 1  
  6. 1"message"  
  7. 2"tv"  
  8. 3"haier"  

 接收消息的三行记录的含义:表示这条信息是由某个客户端执行 PUBLISH 命令所发送的, 真正的信息。 信息的第二个元素是信息来源的频道, 而第三个元素则是信息的内容。

0 0
原创粉丝点击