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

    文章

    65

    浏览量

    18176
  • 客户端
    +关注

    关注

    1

    文章

    290

    浏览量

    16691
  • Redis
    +关注

    关注

    0

    文章

    376

    浏览量

    10879

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

    中间件消息队列的建模与实现

    论述了面向消息中间件的建模方法,并简要讨论了该模型在Client/ Server 环境中的具体实现。实验证明,这种模型的实现可以弥补DEC MessageQ 在动态资源管理上的不足。关
    发表于 03-25 17:03 19次下载

    支持多服务的消息中间件设计与实现

    为了解决消息中间件中的性能瓶颈问题和实现其可靠性的提高,研究并开发了支持多服务的消息中间件,提供单个节点无法提供的性能和可靠性保障。消息集群设计过程中涉及的主
    发表于 08-06 10:04 26次下载

    基于中间件技术的异构机器人系统设计及实现

    基于中间件技术的异构机器人系统设计及实现:基于C++CORBA中间件的技术规范和具体应用,对异构机器人系统的集成技术进行了研究.以ACE?TAO作为开发平台,
    发表于 03-18 16:23 17次下载

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

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

    什么是中间件

    什么是中间件 中间件是一种独立的系统软件或服务程序,分布式应用软件
    发表于 12-28 17:54 1373次阅读
    什么是<b class='flag-5'>中间件</b>

    NGB中间件标准考虑因素

      数字电视中间件技术与标准,大家都非常熟悉了。自2001年,DVB推出MHP中间件技术标准以来,全世界各地都开始了中间件技术的研究与标准制定工作,而且基本上都是源自于MHP
    发表于 06-25 11:18 1091次阅读
    NGB<b class='flag-5'>中间件</b>标准考虑因素

    基于ARM平台的RFID中间件系统设计

    基于ARM平台的RFID中间件系统设计
    发表于 01-12 22:16 15次下载

    常见的中间件有哪些?汇总解析

    世界著名的资讯机构Giga Group把中间件分为三大类,共十五种。另一家世界著名的资讯机构IDC同时指出,最近几年到未来的2002年,增长率最高的中间件将集中在数据存取中间件、消息中间件
    发表于 12-01 08:48 5.5w次阅读

    物联网软件系统中的RFID中间件介绍

    RFID中间件是物联网软件系统中的关键和灵魂,为解决分布异构问题,人们提出了中间件的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们
    发表于 04-15 16:00 4681次阅读
    物联网软件系统中的RFID<b class='flag-5'>中间件</b>介绍

    RFID中间件是什么东西

    RFID 中间件是一种面向消息的中间件,信息是以消息的形式,从一个程序传送到另一个或多个程序。
    发表于 12-02 16:12 3511次阅读

    基于SOA的RFID中间件如何来设计

    RFID中间件是一种消息导向的软件中间件,信息是以消息的形式从一个程序模块传递到另一个或多个程序模块。
    发表于 01-07 16:22 737次阅读
    基于SOA的RFID<b class='flag-5'>中间件</b>如何来设计

    通信中间件接口手册

    通信中间件接口手册
    发表于 06-29 11:37 2次下载