当前位置:首页 » 《随便一记》 » 正文

Redis精通系列——Pub/Sub(发布订阅)_李子捌的博客

3 人参与  2021年11月05日 11:23  分类 : 《随便一记》  评论

点击全文阅读


  本文已收录于专栏

《Redis精通系列》

上千人点赞收藏,全套Redis学习资料,大厂必备技能!


目录

1、简介

2、实例演示

2.1 普通订阅

2.2 模式订阅

3、Pub/Sub为什么被抛弃


1、简介

李子捌把话说在前头,如果你是面试或者为了了解知识来学习这一知识点,我觉得是有必要的;但是如果你是作为公司的技术负责人或者项目技术选型来使用Redis的Pub/Sub做消息的发布订阅,如果你不是走投无路了,那么你可能值得斟酌一下。Redis的Pub/Sub发布订阅,是Redis一步步完善消息队列功能的一个进步点,虽然现在没人用Pub/Sub做消息队列,但是它的思想和功能也是值得玩一下的,这个就是我写这篇文章的主要原因。

Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。

  • pub -> publisher
  • sub -> subscriber

Redis客户端订阅一个频道非常简单,它可以订阅任意数量的频道。
如下图,Redis客户端订阅(subscriber)频道(channel)

subscriber.png


如下图,当消息发送到客户端订阅的频道(channel)时,这个消息就会被订阅的所有未故障的客户端接接收到

publisher.png

2、实例演示

演示Redis的发布订阅,我们需要开启多个客户端,订阅频道(channel)。

2.1 普通订阅

如下我会启动4个客户端,第一个客户端用来发布消息,其他的用来订阅频道,接收消息。

image.png

客户端2、客户端3、客户端4同时订阅news和weather频道(channel)

image.png

客户端1向频道news/weather发布消息

image.png

此时可以看到三个客户端均接收客户端1向频道news/weather发布的消息

image.png

2.2 模式订阅

Redis为了方便同时订阅多个模式的频道,也有类似市面上常见的MQ中模式订阅功能(如Rabbit MQ中的topic),这个功能可以匹配符的方式进行订阅。

比如我需要订阅以fund.开头,任意字符结尾的频道,就可以使用如下的订阅方式

image.png

尝试向fund.nuoan发布消息

image.png

订阅了fund.*的客户端,成功接收到消息

image.png

3、Pub/Sub为什么被抛弃

关于Redis的Pub/Sub为什么被抛弃,最主要的原因是它无法持久化,没有实现持久化机制的Pub/Sub,无法做到消息的不丢失,在客户端宕机或者Redis服务宕机的情况下,都会导致消息丢失。

  • 客户端宕机,客户端无法接收消息
  • Redis服务宕机,没有客户端能连接上,肯定也无法接收到消息

大部分情况下,我们都不会用到Redis去做消息中间件,市面上成熟且好用的消息中间件非常多,如果真的需要使用Redis来做消息中间件,可以考虑Redis 5.0的新数据结构Stream,这个功能在Pub/Sub的基础上,实现了持久化机制,并且大力借鉴了kafka的设计原理,完善了Redis用于实现消息队列的不足之处。

关于stream的知识点,请查看我的Redis专栏!


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/30497.html

订阅  消息  客户端  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 鉴宝节目妻子白月光砸我传家宝,我选择罢演离婚全文免费在线阅读_[沈清周涛林靖]完结版全文
  • 我在回忆里万劫不复精彩节选(秦见鹿谢梵声)_我在回忆里万劫不复精彩节选
  • 迟迟白日晚全书+后续(路星延宋栀年)_(迟迟白日晚全书+后续)迟迟白日晚全书+后续列表_笔趣阁(路星延宋栀年)
  • 往梦难复温+全书+后续(沈淮霆宋思予)列表_往梦难复温(沈淮霆宋思予)往梦难复温+全书+后续在线
  • 兰因絮果,爱恨全如玉碎全书+后续+结局(谢长乐肖风行)列表_兰因絮果,爱恨全如玉碎(谢长乐肖风行)兰因絮果,爱恨全如玉碎全书+后续+结局在线
  • 从此星辰远,归途似海深人气节选(璃月龙影)全书免费_(璃月龙影)从此星辰远,归途似海深人气节选后续(璃月龙影)
  • 全文你来时风起云涌番外+(陆翊夏天瑜赵歆)列表_全文你来时风起云涌番外+
  • 人面兽小说精彩节选免费试读_小浩言语小蕊爆款小说高能章节试读
  • 你来时风起云涌免费(陆翊夏天瑜赵歆)
  • 四海八荒苦封喉,君心似毒酒结局+番外+后续看点十足(洛虞玄澈)_四海八荒苦封喉,君心似毒酒结局+番外+后续看点十足(洛虞玄澈)洛虞玄澈免费列表_笔趣阁(洛虞玄澈)
  • 「错宠假千金,全京城权贵暴虐侯府」章节多结局预体验‌_沈轻漾楚珩完结版免费在线阅读
  • 画地为牢(池念谢宴清)_画地为牢(池念谢宴清)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1