Redis的发布订阅

举报
别团等shy哥发育 发表于 2023/02/04 16:48:47 2023/02/04
【摘要】 @toc 1、什么是Redis的发布与订阅?进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。订阅/发布消息图如下所示 2、相关命令 2.1 PUBLISH channel message将信息 message 发送到指定的频道 channel 。返回值:接收到信息meessage的订阅者数量 2.2 SUBSCRIBE channel [channel …]订阅...

@toc

1、什么是Redis的发布与订阅?

进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
订阅/发布消息图如下所示
订阅/发布消息图

2、相关命令

2.1 PUBLISH channel message

将信息 message 发送到指定的频道 channel 。
返回值:接收到信息meessage的订阅者数量

2.2 SUBSCRIBE channel [channel …]

订阅给定的一个或多个频道的信息。
返回值:接收到的信息

2.3 PSUBSCRIBE pattern [pattern …]

订阅一个或多个符合给定模式的频道。
每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等), news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类。
返回值:接收到的信息

2.4 UNSUBSCRIBE [channel [channel …]]

知识客户端退订给定的频道。
如果没有频道被指定,也即是,一个无参数的 UNSUBSCRIBE 调用被执行,那么客户端使用 SUBSCRIBE 命令订阅的所有频道都会被退订。在这种情况下,命令会返回一个信息,告知客户端所有被退订的频道。

2.5 PUNSUBSCRIBE [pattern [pattern …]]

知识客户端推定所有给定模式
如果没有模式被指定,也即是,一个无参数的 PUNSUBSCRIBE 调用被执行,那么客户端使用 PSUBSCRIBE pattern [pattern …] 命令订阅的所有模式都会被退订。在这种情况下,命令会返回一个信息,告知客户端所有被退订的模式。

2.6 PUBSUB <subcommand> [argument [argument …]]

查看订阅与发布系统状态

3、案例实操

启动两个Redis终端

在终端2中:

 SUBSCRIBE c1 c2 c3

在这里插入图片描述
终端1中

PUBLISH c2 hello-redis

查看终端2
在这里插入图片描述
在终端1中

PUBLISH c1 hello1122

查看终端2
在这里插入图片描述
终端2中

 PSUBSCRIBE new*

终端1中

PUBLISH new1 redis2015
PUBLISH new13 redisnews2016

查看终端2
在这里插入图片描述

这个了解下就行,真正的消息中间件也不用这个

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。