1.1 什么是发布和订阅
发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。
注:发布者不是计划发送消息给特定的订阅者。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅;
订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发送者发布的。
发送者和订阅者的解耦合带来更大的扩展性和更加动态的网络拓扑。
客户端可以订阅任意数量的频道,如下图:

当给这个频道发布消息后,消息就会发送给订阅的客户端

1.2 实现pub/sub
打开一个客户端订阅channel
subscribe mychannel

打开另外2个客户端给channel发布消息


注:发布的消息没有持久化,订阅的客户端只能收到订阅后发布的消息
1.3 模式匹配订阅
Redis 的Pub/Sub实现支持模式匹配。客户端可以订阅能匹配到给定模式的频道的消息,支持多通配符
如:
客户端1订阅模式为news.*的频道:
PSUBSCRIBE news.*
客户端2使用下列2个频道,发布消息:
PUBLISH news.20220412

客户端1接收到消息

1.4 unsubscribe 取消订阅
退订给定的一个或多个频道的信息:
UNSUBSCRIBE news.20220411
本文介绍了Redis中的发布订阅功能,包括基本概念、如何实现pub/sub、模式匹配订阅以及如何取消订阅。发布订阅模式允许发送者与接收者解耦,订阅者仅接收感兴趣的频道消息。例如,客户端可以通过订阅`news.*`模式来接收所有新闻相关的频道更新,而发布者无需知道哪些客户端订阅了。此外,通过`UNSUBSCRIBE`命令,客户端可以随时退订指定频道。
914

被折叠的 条评论
为什么被折叠?



