简介
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。 Redis 客 户端可以订阅任意数量的频道。Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。
下图展示了频道
channel1
, 以及订阅这个频道的三个客户端
—— client2
、
client5
和
client1
之间的关系
当有新消息通过
PUBLISH
命令发送给频道
channel1
时, 这个消息就会被发送给订阅它的三个客户端。
配置订阅和发布
常用命令
订阅频道:SUBSCRIBE channel [channel ...] : 订阅给定的一个或多个频道的信息PSUBSCRIBE pattern [pattern ...] : 订阅一个或多个符合给定模式的频道。发布频道:PUBLISH channel message : 将信息发送到指定的频道。退订频道:UNSUBSCRIBE [channel [channel ...]] : 指退订给定的频道。PUNSUBSCRIBE [pattern [pattern ...]] : 退订所有给定模式的频道。
应用场景
这一功能最明显的用法就是构建实时消息系统,比如普通的即时聊天,群聊等功能1 在一个博客网 站中,有 100 个粉丝订阅了你,当你发布新文章,就可以推送消息给粉丝们。2 微信公众号模式微博 ,每个用户的粉丝都是该用户的订阅者,当用户发完微博,所有粉丝都将收到他的动态;新闻 ,资讯站点通常有多个频道,每个频道就是一个主题,用户可以通过主题来做订阅 ( 如 RSS) ,这样当新闻发布时,订阅者可以获得更新简单的应用场景的话 , 以门户网站为例 , 当编辑更新了某推荐板块的内容后 :1. CMS 发布清除缓存的消息到 channel ( 推送者推送消息 )2. 门户网站的缓存系统通过 channel 收到清除缓存的消息 ( 订阅者收到消息 ) ,更新了推荐板块的缓存3. 还可以做集中配置中心管理,当配置信息发生更改后,订阅配置信息的节点都可以收到通知消息 。