Redis 发布订阅
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。
Redis 客户端可以订阅任意数量的频道。
三个角色:消息发送者、频道、订阅者
下面演示发布订阅是如何工作的,首先需要开启两个 redis-cli 客户端。
测试如下:
订阅者:
127.0.0.1:6379> SUBSCRIBE cctv 订阅频道CCTV
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "cctv"
3) (integer) 1
等待读取推送的消息
1) "message" 消息
2) "cctv" 显示那个频道的消息
3) "hello,word" 消息的具体内容
1) "message"
2) "cctv"
3) "hello,redis"
消息发送者:
127.0.0.1:6379> PUBLISH cctv "hello,word" 消息发布者进行发送消息
(integer) 1
127.0.0.1:6379> PUBLISH cctv "hello,redis"
(integer) 1
场景:
1.实时消息系统
2.实时聊天(把频道当做聊天室,将消息回显给所有人)
3.订阅,关注系统
4.复杂场景会使用消息中间件MQ,比如kafka、RabbitMQ等