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

Redis的订阅与发布

2016-01-31 19:33 423 查看
Redis的订阅与发布

Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端。

作为例子, 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:



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



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

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

客户端一:



客户端二:



客户端三:



信息发布者:



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



订阅者返回的数据说明:

Java代码


redis 127.0.0.1:6379> SUBSCRIBE tv

Reading messages... (press Ctrl-C to quit)

1) "subscribe"

2) "tv"

3) (integer) 1

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

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

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

订阅,接受消息代码


redis 127.0.0.1:6379> SUBSCRIBE tv

Reading messages... (press Ctrl-C to quit)

1) "subscribe"

2) "tv"

3) (integer) 1

1) "message"

2) "tv"

3) "haier"

接收消息的三行记录的含义:表示这条信息是由某个客户端执行 PUBLISH 命令所发送的, 真正的信息。 信息的第二个元素是信息来源的频道, 而第三个元素则是信息的内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: