Redis的发布订阅
1、什么是Redis的发布与订阅?
进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
订阅/发布消息图如下所示
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
终端1中
PUBLISH c2 hello-redis
查看终端2
在终端1中
PUBLISH c1 hello1122
查看终端2
终端2中
PSUBSCRIBE new*
终端1中
PUBLISH new1 redis2015
PUBLISH new13 redisnews2016
查看终端2
这个了解下就行,真正的消息中间件也不用这个