Redis PubSub发布订阅(详细图解)

7个月前 (04-27)
Redis PubSub 模块又称发布订阅者模式,是一种消息传递系统,实现了消息多播功能。发布者(即发送方)发送消息,订阅者(即接收方)接收消息,而用来传递消息的链路则被称为 channel。在 Redis 中,一个客户端可以订阅任意数量的 channel(可译为频道)。

消息多播:生产者生产一次消息,中间件负责将消息到多个消息队列中,每个消息队列由相应的消费组进行消费,这是分布式系统常用的一种解耦方式。

发布/订阅流程

下面的示例演示了“发布/订阅者”模式的工作流程,示意图如下所示:

Redis PubSub消息发布订阅

图1:发布订阅模式

1) 订阅者/等待接收消息

首先打开 Redis 客户端,然后订阅了一个名为“www.biancheng网站站点" rel="nofollow" />

#订阅channel

127.0.0.1:6379> SUBSCRIBE www.biancheng网站站点" rel="nofollow" />

127.0.0.1:6379> PUBLISH www.biancheng网站站点" rel="nofollow" />

127.0.0.1:6379> SUBSCRIBE www.biancheng网站站点" rel="nofollow" />

#订阅指定模式的频道,*代表通配符,会匹配所有www开头的频道

127.0.0.1:6379> PSUBSCRIBE www*

Reading messages... (press Ctrl-C to quit)

1) "psubscribe"

2) "www*"

3) (integer) 1

#按ctrl+c退出阻塞状态

^C

C:\Users\Administrator>redis-cli

#查看发布订阅系统状态,返回相应的频道

127.0.0.1:6379> PUBSUB channels

1) "www.biancheng网站站点" rel="nofollow" />