0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Redis可以实现消息中间件MQ的功能

马哥Linux运维 来源:51cto 2024-01-25 14:48 次阅读

1、是什么

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

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

2、能干啥

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

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

3、常用命令

3.1、SUBSCRIBE channel [channel.。.]

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

推荐先执行订阅后再发布,订阅成功之前发布的消息是收不到的

订阅的客户端每次可以收到3个参数的消息

消息的种类

始发频道的名称

实际的消息内容

3.2、PUBLISH channel message

发布消息到指定的频道

3.3、PSUBSCRIBE pattern [pattern.。.]

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

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

查看订阅与发布系统状态

PUBSUB CHANNELS

由活跃频道组成的列表

PUBSUB NUMSUB channel [channel.。.]

某个频道有几个订阅者

PUBSUB NUMPAT

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

3.5、UNSUBSCRIBE channel [channel.。.]

取消订阅

3.6、PUNSUBSCRIBE pattern [pattern.。.]

退订所有给定模式的频道

4、案例演示

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

演示批量订阅和发布

取消订阅

5、小总结

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

Pub/Sub缺点

发布的消息在Redis系统中不能持久化,因此,必须先执行订阅,再等待消息发布,如果先发布了消息,那么该消息由于没有订阅者,消息将被直接丢弃

消息只管发送,对于发布者而言消息是即发即失的,不管接收,也没有ACK机制,无法保证消息的消费成功

以上的缺点导致Redis的Pub/Sub模式就像一个小玩具,在生产环境中几乎无用武之地,为此,Redis5.0版本新增了Stream数据结构,不但支持多播,还支持数据持久化,相比Pub/Sub更加的强大

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 中间件
    +关注

    关注

    0

    文章

    62

    浏览量

    18045
  • 客户端
    +关注

    关注

    1

    文章

    282

    浏览量

    16340
  • Redis
    +关注

    关注

    0

    文章

    362

    浏览量

    10496

原文标题:一文拿捏Redis7 发布订阅

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是DDS(数据分发服务)?#软件中间件

    中间件DDS
    北汇信息POLELINK
    发布于 :2023年06月05日 14:50:13

    基于SOA的数字电视中间件系统的研究与实现

    基于SOA的数字电视中间件系统的研究与实现针对数字电视制播系统应用集成时存在的异构问题.对数字电视中间件系统进行研究。提出数字电视发送端制播系统中间件的基本思想。该系统技术架构为SOA
    发表于 10-06 10:03

    基于安防中间件的安防软件集成平台的研究

    资源管理中心构建了中间件的运行平台,那么中间件提供的服务或功能单元是如何进行组合呢?可视化开发工具实现了业务流程自定义、功能任意搭配、设备任
    发表于 10-15 14:08

    基于安防中间件的安防软件集成平台的研究

    资源管理中心构建了中间件的运行平台,那么中间件提供的服务或功能单元是如何进行组合呢?可视化开发工具实现了业务流程自定义、功能任意搭配、设备任
    发表于 10-22 09:56

    手机中间件

    国内外现在有什么比较成熟的手机中间件平台吗? 求技术介绍。
    发表于 05-29 17:34

    为什么要使用Keil MDK-ARM中间件库?

    Keil公司的中间件可以让你使用多种通信协议开发强大的应用程序 快速开发功能强大的应用程序RTX内核连同它的源代码,可以提供所有所需的资源,去创建和控制多线程和实时应用程序,并且
    发表于 10-13 16:15

    浅析RFID中间件

    RFID是2005年建议企业可考虑引入的十大策略技术之一,而中间件(Middleware)可称为是RFID运作的中枢,因为它可以加速关键应用的问世。RFID产业潜力无穷,应用的范围遍及制造、物流
    发表于 07-10 08:03

    将集群技术引入到RFID中间件的设计讨论

    和SAP 系统。在整合RFID 中间件和ERP 系统时,我们遇到了很多挑战。对于大多数的ERP 系统,高可靠性、高可用性、高扩展性、高性能是至关重要的,因此在RFID 中间件与ERP 系统整合过程中
    发表于 07-25 06:22

    详解消息中间件&Kafka

    消息中间件&Kafka
    发表于 09-11 07:54

    中间件思想在嵌入式GIS设计中有哪些应用?

    中间件是什么?有什么作用?中间件应用现状及未来发展趋势如何?中间件思想在嵌入式GIS设计中有哪些应用?
    发表于 04-27 07:05

    请问怎样去设计RFID的中间件

    无线射频识别(RFID)技术是什么?怎样去设计RFID的中间件?RFID中间件功能实现原理是什么?
    发表于 05-18 06:11

    怎么实现基于NFC手机的RFID中间件的设计?

    本文就一种基于 NFC手机的RFID中间件进行研究与实现,将RFID 中间件技术与移动互联网相结合,弥补了传统RFID 中间件的不足之处,并且符合当前发展趋势。
    发表于 05-21 06:02

    如何去实现一种基于SOA的RFID中间件设计?

    本文提出了一种基于SOA的RFID中间件方案。
    发表于 06-03 07:19

    请问下MX Component上位机通讯中间件有哪些功能

    MX Component是什么?MX Component上位机通讯中间件有哪些功能
    发表于 09-17 08:00

    基于JMS的RFID中间件设计与实现

    介绍了Radio Frequency Identification (RFID) 和物联网的RFID 中间件技术,设计了RFID 中间件整体框架,在此基础上设计并实现了一个基于JMS 的商品零售的边缘
    发表于 10-19 16:16 17次下载