Redis的发布订阅

Redis的发布订阅

1、什么是Redis的发布与订阅?

进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
订阅/发布消息图如下所示
Redis的发布订阅

2、相关命令

2.1 PUBLISH channel message

将信息 message 发送到指定的频道 channel 。
返回值:接收到信息meessage的订阅者数量

2.2 SUBSCRIBE channel [channel …]

订阅给定的一个或多个频道的信息。
返回值:接收到的信息

2.3 PSUBSCRIBE pattern [pattern …]

订阅一个或多个符合给定模式的频道。
每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等), news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类。
返回值:接收到的信息

2.4 UNSUBSCRIBE [channel [channel …]]

知识客户端退订给定的频道。
如果没有频道被指定,也即是,一个无参数的 UNSUBSCRIBE 调用被执行,那么客户端使用 SUBSCRIBE 命令订阅的所有频道都会被退订。在这种情况下,命令会返回一个信息,告知客户端所有被退订的频道。

2.5 PUNSUBSCRIBE [pattern [pattern …]]

知识客户端推定所有给定模式
如果没有模式被指定,也即是,一个无参数的 PUNSUBSCRIBE 调用被执行,那么客户端使用 PSUBSCRIBE pattern [pattern …] 命令订阅的所有模式都会被退订。在这种情况下,命令会返回一个信息,告知客户端所有被退订的模式。

2.6 PUBSUB [argument [argument …]]

查看订阅与发布系统状态

3、案例实操

启动两个Redis终端

在终端2中:

 SUBSCRIBE c1 c2 c3

Redis的发布订阅
终端1中

PUBLISH c2 hello-redis

查看终端2
Redis的发布订阅
在终端1中

PUBLISH c1 hello1122

查看终端2
Redis的发布订阅
终端2中

 PSUBSCRIBE new*

终端1中

PUBLISH new1 redis2015
PUBLISH new13 redisnews2016

查看终端2
Redis的发布订阅

这个了解下就行,真正的消息中间件也不用这个

上一篇:mqtt v5.0请求响应式 Request/Response


下一篇:android – 在发布应用程序之前应该禁用日志吗?