【Redis】订阅与发布

本文详细介绍了Redis中的订阅与发布功能,通过实例展示了如何使用PSUBSCRIBE、PUBLISH、SUBSCRIBE等命令进行消息的订阅与发布。当发布者通过PUBLISH向频道发送消息时,所有订阅该频道的客户端都能接收到消息,这一机制在实时消息传递、公众号推送等场景中有广泛应用。
摘要由CSDN通过智能技术生成

一、简介

大家是不是很好奇,什么事订阅与发布,其实订阅预发布的应用场景在我们的显示生活中的应用是十分广泛的,举一个例子:我们在关注某一个公众号的后,公众号推送的消息我们是可以接受到的,但是如果我们没有关注该公众号,那么我们就接受不到消息。

在redis中实现订阅与发布的大体流程如下:

下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
在这里插入图片描述
当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:
在这里插入图片描述
如果你玩过公众号,那么你对这样流程不会陌生。作为公众号文章的发布人,你是可以看到你发布的内容有多少人接受(订阅你公众号的用户)。


二、实现

Redis 发布订阅命令

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

测试

如下图所示,两个客户端现在都订阅的studioustiger这个频道,目前处于等待发布的状态
在这里插入图片描述

第三台机器现在发布了hello ,I'm studioustiger这么一条消息到studioustiger频道
在这里插入图片描述

studioustiger频道发布消息时,订阅了studioustiger频道的用户将会收到发布的消息。

message:表示一条消息

studioustiger:表示当前消息的发布者是studioustiger

hello ,I’m studioustiger:消息内容
在这里插入图片描述


愿你不负韶华,归来仍是少年…

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值