图片 3

2015022605 – redis订阅发表

Redis 的 pub sub实现了邮件系统,发送者(在 Redis
术语中被称为发布者)发送的邮件,而接收器(用户)接收它们。由该消息传送的链路被称为信道。

  Redis的实现消息队列功能,消息发布者发送的消息,消息接收者接收发布者的消息。由该消息传送的链路被称为通道。在Redis客户端可以订阅任何数目的通道。

一.什么是pub/sub及实现
Pub/Sub功能(means Publish, Subscribe)即发布及订阅功能。

Redis客户端可以订阅任何数目的通道。

  案例:给出一个客户端订阅一个通道名为redisChat

Redis通过publish和subscribe命令实现订阅和发布的功能。

例子

  图片 1

订阅者通过subscribe向redis
server订阅自己感兴趣的消息类型。redis将信息类型称为通道(channel)。
当发布者通过publish命令向redis
server发送特定类型的信息时,订阅该消息类型的全部订阅者都会收到此消息。

以下举例说明如何发布用户的概念工作。在下面的例子给出一个客户端订阅一个通道名为redisChat

  消息发布者发布消息

客户端1订阅CCTV1:

redis 127.0.0.1:6379 SUBSCRIBE redisChatReading messages... (press Ctrl-C to quit)1) "subscribe"2) "redisChat"3) (integer) 1

  图片 2

127.0.0.1:6379> subscribe CCTV1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "CCTV1"
3) (integer) 1

现在,两个客户端都发布在同一个通道名redisChat消息及以上的订阅客户端接收消息。

  消息接收者(订阅者)接收消息

客户端2订阅CCTV1和CCTV2:

redis 127.0.0.1:6379 PUBLISH redisChat "Redis is a great caching technique"(integer) 1redis 127.0.0.1:6379 PUBLISH redisChat "Learn redis by tutorials point"(integer) 11) "message"2) "redisChat"3) "Redis is a great caching technique"1) "message"2) "redisChat"3) "Learn redis by tutorials point"Redis PubSub 命令

  图片 3

127.0.0.1:6379> subscribe CCTV1 CCTV2
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "CCTV1"
3) (integer) 1
1) "subscribe"
2) "CCTV2"
3) (integer) 2

如下表所示相关Redis PubSub的一些基本的命令:

  1.消息;2.消息通道名称;3.消息内容

此时这两个客户端分别监听指定的频道。现在另一个客户端向服务器推送了这两个频道的信息。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

 

127.0.0.1:6379> publish CCTV1 "cctv1 is good"
(integer) 2 //返回2表示两个客户端接收了该消息。