2026-08-17 14:04:29
Redis 消息的发布与订阅
Redis 发布订阅(pub/sub)是一种消息通信模式,其中发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道,从而实现消息的广播和接收。
一、Redis 发布订阅的简介
Redis 的发布订阅模式是一种消息传递机制,它允许发送者(发布者)将消息发送到频道,而订阅了该频道的接收者(订阅者)则可以接收到这些消息。这种机制实现了消息的解耦,发送者和接收者不需要直接建立连接,而是通过频道进行通信。
二、Redis 发布订阅的示意图
订阅:
消息订阅者(如 client2、client5 和 client1)通过订阅命令订阅特定的频道(如 channel1)。

发布:
消息发布者通过发布命令将消息发送到指定的频道(如 channel1)。
消息随后被发送到所有订阅了该频道的订阅者。

三、Redis 发布订阅的常用命令
subscribe
语法:subscribe channel [channel2 …]
功能:订阅一个或多个频道的信息。
返回值:订阅的消息。

publish
语法:publish channel message
功能:将信息发送到指定的频道。
返回值:接收到消息订阅者的数量。


psubscribe
语法:psubscribe pattern [pattern]
功能:订阅一个或多个频道的消息,频道名支持通配符。例如,news.* 将会收到所有以 news. 开头的频道消息。
返回值:订阅的信息。


unsubscribe
语法:unsubscribe channel [channel ...]
功能:退订给定的一个或多个频道的信息。
punsubscribe
语法:punsubscribe [pattern [pattern ...]]
功能:退订所有给定模式的频道。
四、Redis 发布订阅的特点
五、应用场景
Redis 的发布订阅模式适用于需要实时消息传递的场景,如:
总之,Redis 的发布订阅模式提供了一种简单而有效的实时消息传递机制,适用于多种应用场景。