首页 > 数据库 >Redis7 发布订阅

Redis7 发布订阅

时间:2023-12-09 17:32:31浏览次数:29  
标签:订阅 频道 ... Redis7 发布 消息 channel 客户端

1、是什么

是一种通信模式:发送者(PUBLISH)发送消息,订阅者(SUBSCRIBE)接收消息,可以实现进程间的消息传递

Redis可以实现消息中间件MQ的功能,通过发布订阅实现消息的引导和分流

2、能干啥

Redis客户端可以订阅任意数量的频道,类似于微信关注多个公众号

Redis7 发布订阅_客户端

当有新消息通过PUBLISH命令发送给频道channel时

Redis7 发布订阅_消息中间件_02

Redis7 发布订阅_Redis_03

3、常用命令

Redis7 发布订阅_Redis_04

3.1、SUBSCRIBE channel [channel...]

订阅给定的一个或多个频道的信息
推荐先执行订阅后再发布,订阅成功之前发布的消息是收不到的
订阅的客户端每次可以收到3个参数的消息
  消息的种类
  始发频道的名称
  实际的消息内容

Redis7 发布订阅_客户端_05

3.2、PUBLISH channel message

发布消息到指定的频道

3.3、PSUBSCRIBE pattern [pattern...]

按照模式批量订阅,订阅一个或多个符合给定模式(支持*号?号之类的)频道

3.4、PUBSUB subcommand [argument [argument...]]

查看订阅与发布系统状态

PUBSUB CHANNELS
由活跃频道组成的列表

Redis7 发布订阅_消息中间件_06

PUBSUB NUMSUB channel [channel...]
某个频道有几个订阅者

Redis7 发布订阅_客户端_07

PUBSUB NUMPAT
只统计使用PSUBSCRIBE命令执行的,返回客户端订阅的唯一模式的数量

Redis7 发布订阅_客户端_08

3.5、UNSUBSCRIBE channel [channel...]

取消订阅

3.6、PUNSUBSCRIBE pattern [pattern...]

退订所有给定模式的频道

4、案例演示

开启3个客户端,演示客户端A、B订阅消息,客户端C发布消息

Redis7 发布订阅_消息中间件_09

演示批量订阅和发布

Redis7 发布订阅_消息中间件_10

取消订阅

Redis7 发布订阅_Redis_11

5、小总结

Redis可以实现消息中间件MQ的功能,通过发布订阅实现消息的引导和分流

Pub/Sub缺点
发布的消息在Redis系统中不能持久化,因此,必须先执行订阅,再等待消息发布,如果先发布了消息,那么该消息由于没有订阅者,消息将被直接丢弃
消息只管发送,对于发布者而言消息是即发即失的,不管接收,也没有ACK机制,无法保证消息的消费成功
以上的缺点导致Redis的Pub/Sub模式就像一个小玩具,在生产环境中几乎无用武之地,为此,Redis5.0版本新增了Stream数据结构,不但支持多播,还支持数据持久化,相比Pub/Sub更加的强大

标签:订阅,频道,...,Redis7,发布,消息,channel,客户端
From: https://blog.51cto.com/u_13236892/8750994

相关文章

  • K3588芯片助力,全新单板计算机ArmSoM-Sige7震撼发布!
    RK3588芯片助力,全新单板计算机ArmSoM-Sige7震撼发布!近日,我们欣喜地宣布推出一款全新的单板计算机,搭载着强大的RK3588芯片,为用户提供更卓越的计算性能和多样化的应用场景。这一新产品的发布标志着我们在技术创新和产品研发方面取得了重要突破,为用户提供了更为出色的计算体验,Sige7......
  • RK3588芯片助力,全新单板计算机ArmSoM-Sige7震撼发布!
     近日,我们欣喜地宣布推出一款全新的单板计算机,搭载着强大的RK3588芯片,为用户提供更卓越的计算性能和多样化的应用场景。这一新产品的发布标志着我们在技术创新和产品研发方面取得了重要突破,为用户提供了更为出色的计算体验,Sige7-连接创新,无限可能  1.RK3588芯片的强大......
  • 《安富莱嵌入式周报》第328期:自主微型机器人,火星探测器发射前失误故障分析,微软推出12
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 更新一期视频教程:【实战技能】单步运行源码分析,一期视频整明白FreeRTOS内核源码框架和运行机制,RTOSTrace链表功能展示https://www.armbbs.cn/forum.php?mod=viewthread&tid......
  • 你还有理由不升吗!Windows 12发布时间曝光:微软重磅更新
    据外媒最新报道称,微软目前已经准备,将于2024年推出为Windows12。虽然目前还不清楚下一个版本的Windows是Windows1124H2还是Windows12,但多个消息来源和微软的合作伙伴已经证实,计划在2024年对Windows进行重大更新。微软的合作伙伴曾表示,下一代Windows最早可能在5月或6月与新的......
  • .net6 windows服务发布命令
    安装.bat  内容setserviceName=CallServersetserviceFilePath=%~dp0\CallServer.exesetserviceDescription=分诊呼叫服务sc.execreate%serviceName%BinPath=%serviceFilePath%sc.execonfig%serviceName%start=autosc.execonfig%serviceName%type=......
  • 遥遥领先GPT-4!谷歌最强AI大模型Gemini 1.0发布
    在5月举行的开发者大会上,谷歌首次透露其正在开发的AI大模型Gemini,时隔7个月,Gemini终于来了。据谷歌官方公众号消息,谷歌日前正式发布Gemini1.0,这是谷歌迄今为止构建的最强大、最通用、最灵活的模型。据介绍,针对不同场景,谷歌发布了三种不同版本:GeminiUltra:谷歌规模最大且功能......
  • oVirt 4.5.5 发布 - 强大的开源虚拟化
    oVirt4.5.5-强大的开源虚拟化KVM+libvirt、Gluster、PatternFly和Ansible请访问原文链接:https://sysin.org/blog/ovirt/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org强大的开源虚拟化oVirt是适用于整个企业的免费开源虚拟化解决方案社区支持oVirt是......
  • 基于DotNetty实现自动发布 - 自动检测代码变化
    前言很抱歉没有实现上一篇的目标:一键发布,因为工作量超出了预期,本次只实现了Git代码变化检测已完成的功能解决方案的项目发现与配置首次发布需要手动处理自动检测代码变化并解析出待发布的文件简要说明只需要填写解决方案的Git仓储路径即可自动发现项目(通过......
  • PAVELINK.SOA-Converter新版本发布,助力SOA架构开发
    背景  随着汽车行业的不断迭代发展,市场及消费者对汽车提出了更高的要求,智能网联、自动驾驶等新技术的应用推动整车厂对车载芯片、汽车软件等方面投入了更多的精力,SOA(面向服务的架构)逐渐成为大多整车厂顺应市场趋势和技术趋势的首选。SOA架构使服务间的通讯变得更加简单,ECU更......
  • OpenTiny Vue 3.12.0 发布:文档大优化!增加水印和二维码两个新组件
    你好,我是Kagol。非常高兴跟大家宣布,2023年11月30日,OpenTinyVue发布了v3.12.0......