redis 4.Redis的发布和订阅

本文介绍了Redis中的发布订阅功能,包括基本概念、如何实现pub/sub、模式匹配订阅以及如何取消订阅。发布订阅模式允许发送者与接收者解耦,订阅者仅接收感兴趣的频道消息。例如,客户端可以通过订阅`news.*`模式来接收所有新闻相关的频道更新,而发布者无需知道哪些客户端订阅了。此外,通过`UNSUBSCRIBE`命令,客户端可以随时退订指定频道。


1.1 什么是发布和订阅

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

注:发布者不是计划发送消息给特定的订阅者。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅;
  订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发送者发布的。
  发送者和订阅者的解耦合带来更大的扩展性和更加动态的网络拓扑。

客户端可以订阅任意数量的频道,如下图:

在这里插入图片描述

当给这个频道发布消息后,消息就会发送给订阅的客户端
在这里插入图片描述

1.2 实现pub/sub

打开一个客户端订阅channel

subscribe mychannel

在这里插入图片描述
打开另外2个客户端给channel发布消息
在这里插入图片描述
在这里插入图片描述

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

1.3 模式匹配订阅

   Redis 的Pub/Sub实现支持模式匹配。客户端可以订阅能匹配到给定模式的频道的消息,支持多通配符

如:
客户端1订阅模式为news.*的频道:

PSUBSCRIBE news.*

客户端2使用下列2个频道,发布消息:

PUBLISH news.20220412

在这里插入图片描述
客户端1接收到消息
在这里插入图片描述

1.4 unsubscribe 取消订阅

退订给定的一个或多个频道的信息:

UNSUBSCRIBE news.20220411
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

但行益事莫问前程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值