Redis 发布订阅
Redis 发布订阅 ( pub/sub ) 是一种消息通信模式,发送者 ( pub ) 发送消息,订阅者 ( sub ) 接收消息。
Redis 客户端可以订阅任意数量的频道。
命令
这些命令被广泛用于构建即时通信应用,比如网络聊天室 ( chatroom ) 和实时广播、实时提醒等。
1、PSUBSCRIBE pattern [pattern]
订阅一个或多个符合给定模式的频道
2、PUBSUB subcommand [argument [argument ...]]
查看订阅与发布系统状态
3、PUBLISH channel message
将信息发送到指定的频道
4、PUNSUBSCRIBE [pattern [pattern ...]]
退订所有给定模式的频道
5、SUBSCRIBE channel [channel ...]
订阅给定的一个或多个频道的信息
6、UNSUBSCRIBE [channel [channel ...]]
退订给定的频道
测试
订阅端:
127.0.0.1:6379> SUBSCRIBE azhang # 订阅一个频道 azhang
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "azhang"
3) (integer) 1
# 等待读取推送的信息
1) "message" # 消息
2) "azhang" # 那个频道的消息
3) "hello,azhang" # 消息的具体内容
1) "message"
2) "azhang"
3) "hello,redis"
发送端:
127.0.0.1:6379> PUBLISH azhang hello,azhang # 发布者发布消息到频道
(integer) 1
127.0.0.1:6379> PUBLISH azhang hello,redis # 发布者发布消息到频道
(integer) 1
使用场景:
1、实时消息系统
2、实时聊天 ( 频道当做聊天室,将信息回显给所有人即可 )
3、订阅,关注系统
稍微复杂的场景就是用消息中间键 MQ ( )