Redis Pub/Sub
概述
Redis 的 Pub/Sub 实现了经典的发布订阅模式,发布者发布消息不是直接发布到具体的消费者,而是发布到 channel,订阅者会订阅若干个 channel,发布到这些 channel 的消息会被订阅者接收到。
订阅和退订
# 订阅 channel1 和 channel2
SUBSCRIBE channel1 channel2
# 退订 channel1 和 channel2
UNSUBSCRIBE channel1 channel2
发布一条消息
# 向 channel1 发布了一个消息,消息内容为 hello
PUBLISH channel1 hello
假如有三个订阅者,发布者发布的消息为 hello,该消息会被三个订阅者收到,如下图:
所有订阅 channel1 的客户端都会收到 hello 这条消息。
基于模式的发布和订阅
订阅的时候,可以使用模式表达式,* 表示任意字符串,? 表示单个字符。
# foo* 可以匹配 foo 开头的所有字符串,例如: foo1 foo2 ...
PSUBSCRIBE foo* news.*
PUNSUBSCRIBE foo* news.*
Redis 发布消息是一次性的,消息发出后就丢弃(fire-and-forget)不会被发送端缓存,接收端如果由于某种原因掉线,那么掉线期间的消息就永远没有了。
有问题吗?点此反馈!
温馨提示:反馈需要登录