简介
Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。
Redis客户端可以订阅任意数量的频道。
常用命令
订阅频道
1、订阅给定的一个或多个频道的信息
SUBSCRIBE channel [channel1...]
2、订阅一个或多个符合给定模式的频道
PSUBSCRIBE pattern [pattern1...]
发布频道
1、将消息发送到指定频道
PUBLISH channel message
退订频道
1、退订给定的频道
UNSUBSCRIBE [channel1 [channel1...]]
2、退订所有给定模式的频道
PUNSUBSCRIBE [pattern [pattern...]]
应用场景
1、构建实时消息系统 ,比如普通的即时聊天,群聊等功能
2、在一个博客网站,100个粉丝订阅了你,当你发布新文章,就可以推送消息给粉丝们
3、微信公众号模式
微博,每个用户的粉丝都是该用户的订阅者,当用户发完微博,所有粉丝都将收到该用户的动态
新闻,咨询站点通常有多个频道,每个频道就是一个主题,用户可以通过主题来订阅,这样有新闻发布时,订阅者可以获得更新
简单应用场景的话,以门户网站为例,当编辑更新了某推荐版的内容后,
1、cms发布清除缓存的消息到channel(推送者推送消息)
2、门户网站的缓存系统通过channel收到清除缓存的消息(订阅者收到消息),更新了推荐板块的缓存
3、还可以做集中配置中心管理,当配置信息发生更改后,订阅配置信息的节点可以收到通知消息
查看所有的频道:PUBSUB CHANNELS
查询订阅者的数量:PUBSUB NUMSUB
查询服务器被订阅者的数量:PUBSUB NUMPAT