Redis的发布订阅(Pub/Sub)是一种消息传递模式,允许客户端在指定的主题(channel)上发布消息,而其他客户端可以订阅这些主题以接收消息。这种模式在实时通信、通知系统、聊天应用等场景中非常有用。
发布消息(Publish)
要发布消息,客户端需要执行以下命令:
PUBLISH channel message
channel
:消息将要发送到的主题。message
:要发送的消息内容。
例如,要向名为my_channel
的主题发送一条消息,可以使用以下命令:
PUBLISH my_channel "Hello, subscribers!"
订阅消息(Subscribe)
要订阅主题,客户端需要执行以下命令:
SUBSCRIBE channel [channel ...]
channel
:要订阅的主题。可以一次订阅多个主题,只需用空格分隔即可。
例如,要订阅名为my_channel
和another_channel
的主题,可以使用以下命令:
SUBSCRIBE my_channel another_channel
取消订阅(Unsubscribe)
要取消订阅某个主题,客户端可以执行以下命令:
UNSUBSCRIBE [channel ...]
channel
:要取消订阅的主题。可以一次取消订阅多个主题,只需用空格分隔即可。
例如,要取消订阅名为my_channel
的主题,可以使用以下命令:
UNSUBSCRIBE my_channel
示例
以下是一个简单的示例,展示了如何使用发布订阅功能:
- 客户端A订阅了
my_channel
主题:
SUBSCRIBE my_channel
- 客户端B发布了消息到
my_channel
主题:
PUBLISH my_channel "Hello, subscribers!"
- 客户端A接收到消息:
1) "message" 2) "Hello, subscribers!"
- 客户端A取消订阅
my_channel
主题:
UNSUBSCRIBE my_channel
- 客户端B再次发布消息到
my_channel
主题,但客户端A不会收到消息,因为它已经取消订阅了该主题。