一、什么是Redis发布和订阅
Redis的发布(pub)和订阅(sub)是一种消息通信模式。它包含有三个角色分别是:发送者、订阅者、频道。
Redis客户端可以订阅多个任意的频道。
Redis发布和订阅的结构图:
发送者:用于发送消息
订阅者:订阅和接收消息
频道:redis消息的分类存储,为发送者和订阅者提供一种链接关系
二、Redis发布和订阅的常用命令
1. publish <channel> <message>
发送消息到频道中,返回值代表订阅者的数量
2. subscribe <channel1> <channel2> ....
订阅一个或多个频道
3. pubsub <subcommand> <pattern>
查看订阅和发布系统的状态
4. unsubscribe <channel1> <channel2> ...
取消指定的频道
5. psubscribe <pattern>
订阅一个或多个符合给定模式的频道,支持指定和 * 匹配
6. punsubscribe <pattern>
退订一个或多个符合给定模式的频道,支持指定和 * 匹配
Redis的发布和订阅其实就是简单的实现了类似RabbitMQ消息队列,其作用都是实现异步和应用程序的解耦。在项目中最好还是使用专业的消息队列中间件,因为Redis的发布和订阅需要客户端保持持续的在线连接状态,如果出现中断就有数据的丢失。