redis发布订阅
Redis
发布订阅(pub/sub
)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis
客户端可以订阅任意数量的频道。
从Pub/Sub的机制来看,它更像是一个广播系统,多个Subsoribel
可以订阅多个Channel
, 多个Publisher
可以往多个Channel
中发布消息。可以理解为:
Subscribel
:收音机, 可以收到多个频道,并以队列方式显示Publisher
:电台,可以往不同的FM频道中发消息Channel
:不同频率的FM频道
下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
当有新消息通过 PUBLISH
命令发送给频道 channel1
时, 这个消息就会被发送给订阅它的三个客户端:
一个Publisher
,多个Subscriber
模型
发布/订阅
1 | PUBLISH channel msg |
订阅指定频道
启动两个redis-cli
窗口,均订阅music
频道(channel
)
在启动一个窗口,启动发布者向频道 music
发送消息
两个订阅该频道的人同时受到了消息,效果如下:
订阅模糊匹配频道
启动两个redis-cli
窗口,均订阅 python
*频道(channel
)