0
点赞
收藏
分享

微信扫一扫

Redis 发布订阅

什么是发布和订阅

在软件架构中,发布订阅是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有的话)存在。

Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。

Redis 客户端可以订阅任意数量的频道。

Redis的发布和订阅

1、客户端可以订阅频道如下图

image-20211207064618934

2、当给这个频道发布消息后,消息就会发送给订阅的客户端

image-20211207064649952

发布订阅命令行实现

序号 命令及描述
1 [PSUBSCRIBE pattern pattern ...] 订阅一个或多个符合给定模式的频道。
2 [PUBSUB subcommand argument [argument ...]] 查看订阅与发布系统状态。
3 PUBLISH channel message 将信息发送到指定的频道。
4 [PUNSUBSCRIBE pattern [pattern ...]] 退订所有给定模式的频道。
5 [SUBSCRIBE channel channel ...] 订阅给定的一个或多个频道的信息。
6 [UNSUBSCRIBE channel [channel ...]] 指退订给定的频道。

1、 打开一个客户端订阅channel1

SUBSCRIBE channel1

image-20211215171801678

2、打开另一个客户端,给channel1发布消息hello

publish channel1 hello

image-20211215171823364

返回的1是订阅者数量

3、打开第一个客户端可以看到发送的消息

image-20211207064531505

注:发布的消息没有持久化,如果在订阅的客户端收不到hello,只能收到订阅后发布的消息

image-20211213192007115

举报

相关推荐

0 条评论