Redis 发布订阅(Pub/Sub)是一种消息传递模式,其中消息的发送者(发布者)将消息发送到通道(channel),而消息的接收者(订阅者)则从通道中接收消息。这种模式允许多个订阅者接收来自一个或多个发布者的消息。以下是有关 Redis 发布订阅的基本概念和常用命令:

1. 订阅一个或多个通道:

使用 SUBSCRIBE 命令订阅一个或多个通道。
SUBSCRIBE channel1 channel2

2. 接收发布的消息:

一旦订阅了通道,可以通过接收来自 PSUBSCRIBE 命令的消息。
PSUBSCRIBE pattern*

3. 取消订阅:

使用 UNSUBSCRIBE 命令取消对一个或多个通道的订阅。
UNSUBSCRIBE channel1 channel2

4. 发布消息:

使用 PUBLISH 命令向指定通道发布消息。
PUBLISH channel "Hello, subscribers!"

5. 模式订阅:

可以使用 PSUBSCRIBE 命令进行模式订阅,其中通道名称可以包含通配符。
PSUBSCRIBE news.*

6. 取消模式订阅:

使用 PUNSUBSCRIBE 命令取消对一个或多个模式的订阅。
PUNSUBSCRIBE news.*

7. 查看当前订阅的通道和模式:

使用 PUBSUB CHANNELS 和 PUBSUB NUMSUB 命令查看当前订阅的通道和模式。
PUBSUB CHANNELS
PUBSUB NUMSUB channel1 channel2

8. 注意事项:

  •  订阅者和发布者之间是解耦的,一个发布者发布消息后,所有订阅者都会收到消息,而订阅者和发布者不需要彼此直接通信。


  •  Redis 发布订阅模式是异步的,即发布者发布消息后不等待订阅者的响应。


  •  发布订阅模式在一些场景下很有用,例如实时消息推送、事件通知等。


这些是一些常用的 Redis 发布订阅命令。使用发布订阅模式可以实现松散耦合的消息传递,适用于一对多的消息广播场景。


转载请注明出处:http://www.zyzy.cn/article/detail/9076/Redis