Redis的发布订阅(消息队列,比如ActiveMQ,一方得到数据后,多方得到信息)
什么是发布订阅?
发布和订阅是进程间的一种消息通信模式:发送者(publisher)将消息发送给一个第三方,订阅者(subscriber)从第三方那里接收消息。
这个第三方我们通常称之为 消息中间件,消息中间件主要是用来做系统之间的异步通信,常见的消息中间件有:ActiveMQ,RocketMQ,RabbitMQ,Kafka 等。
Redis 一般不用来做消息中间件,只用它做缓存,但是它仍然提供了这个功能。
发布和订阅应用场景?
场景:我们订阅了头条上的某个栏目的新闻,当这个栏目有新的新闻的时候,头条(服务端)会主动推送给我们,而我们(客户端)无需主动请求。
发布和订阅的优点?
由于我们所需的消息并不是从服务器直接请求得来,而是从消息中间件获得,因此缓解了服务端在高并发量情况下的压力。
就好比你是手机生产厂商,你不直接卖手机,而是把手机先交给代理商,代理商替你卖,你就轻松了。
发布和订阅的缺点?
如果消费者不在线,消息可能接受不到(当然我们可以通过持久化存储的方式来解决)。
实时性相对于服务器-客户端这种一对一的通信方式来说低一些。
Redis 是如何实现发布和订阅的?
涉及到的命令:
subscribe c1 c2 c3 ...
:订阅 c1,c2,c3,…等频道。psubscribe new*
:订阅前缀为new
的频道。publish channel message
:向 channel 频道发送 message 消息。
输入完 subscribe c1 c2 c3
之后,客户端就进入等待状态,等待订阅的频道向自己发送消息:
通过通配符来订阅多个频道:
Redis的发布订阅(消息队列,比如ActiveMQ,一方得到数据后,多方得到信息)相关推荐
- Redis 实现 发布/订阅 消息对列
Redis实现 发布/订阅 消息对列 前言 发布订阅是一种典型的异步通信模型,可以让消息的发布者和订阅者充分解耦 一.什么是发布/订阅 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发 ...
- kafka redis vs 发布订阅_发布订阅的消息系统 Kafka的深度解析
背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能 高吞吐 ...
- 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...
springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...
- redis的发布/订阅和mq消息队列的区别,该如何选择?
好久没写笔记了,今天记录下使用消息队列的心得. 本文以reids和rocketmq对比 很多人一直有个疑问(包括我之前也是):redis支持已经消息队列(发布/订阅)了,为什么还需要mq呢? 项目已经 ...
- RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ
RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ ...
- ActiveMQ之发布- 订阅消息模式实现
一.概念 发布者/订阅者模型支持向一个特定的消息主题发布消息.0或多个订阅者可能对接收来自特定消息主题的消息感兴趣.在这种模型下,发布者和订阅者彼此不知道对方.这种模式好比是匿名公告板.这种模式被概括 ...
- java订阅发布模式_Spring Boot ActiveMQ发布/订阅消息模式原理解析
本文在<Spring Boot基于Active MQ实现整合JMS>的基础上,介绍如何使用ActiveMQ的发布/订阅消息模式.发布/订阅消息模式是消息发送者发送消息到主题(topic), ...
- ActiveMQ Topic发布订阅消息
2019独角兽企业重金招聘Python工程师标准>>> ActiveMQ Topic发布订阅消息 博客分类: MQ package com.googlecode.garbagecan ...
- springboot集成阿里MNS消息队列发布订阅消息功能
声明: 上一篇文章是springboot集成阿里ons发布订阅消息,此篇文章是mns发布订阅功能先简单记录一下ons与mns有什么区别 这里是在网上找的对比图: 此处为具体区别文章链接:点击打开链接 ...
- ActiveMQ的发布—订阅消息模式
一.订阅杂志 我们很多人都订过杂志,其过程很简单.只要告诉邮局我们所要订的杂志名.投递的地址,付了钱就OK.出版社定期会将出版的杂志交给邮局,邮局会根据订阅的列表,将杂志送达消费者手中.这样我们就可以 ...
最新文章
- 农业展会谋定丰收精髓-李加映:中国农民丰收节交易会
- 脑洞一下 | 产品经理是如何用一张小票推算店面房租的?
- 浅析商业银行“业务连续性管理体系”的构建
- IntegerCache的妙用和陷阱
- 使用Servlet 3.0,Redis / Jedis和CDI的简单CRUD –第1部分
- 为什么软件测试容易被小看,做软件测试容易忽视的问题
- 航行金税盘_通过陌生事物的情感进行统计好奇心航行
- 在资源管理器中使鼠标右键增加一个命令,运行cmd,同时使得当前路径为资源管理器当前的目录...
- C#多态 (小结转载)
- m()在php中的意思,计算器上的mc m+ m- mr是什么意思?
- android 图片上传图片 报Socket: Broken pipe
- qt中将数据库中的数据显示
- 【图像检索】基于matlab GUI综合颜色和形状特征图像检索【含Matlab源码 395期】
- TortoiseSvn执行SVN Commit一直显示Please wait...问题解决
- python根据时间序列画折线图_Python如何根据时间序列数据作图
- 基于微信小程序的高校毕业论文管理系统#毕业设计
- 计算机网络双语常用词汇,计算机网络协议词汇Protocols
- OpenCV计算机视觉编程攻略第2版pdf
- (申请加精)你所不知道的奶粉秘密(2)------转自天涯
- [软件工具][原创]加减乘除自动出题带答案不重复生成可代替加减法印章使用教程
热门文章
- kk6.0 服务器信息 端口,KK的服务器改了端口以后 为什么我进不去
- matlab repmat函数_Matlab向量化编程在二级劝退学科中的一个应用例子
- 1.4编程基础之逻辑表达式与条件分支 09判断能否被3,5,7整除(2021.12.05)
- ios开发跳转safari_iOS 跳转网页的四种方法
- RTX5 | 事件标志组03 - 线程同步(逻辑或)
- FreeRTOS | STM32H7串口中断调用FreeRTOS API,导致程序卡死
- shell不允许输入空字符_shell脚本编程之控制脚本
- ab plc软件_【万泉河】PLC垃圾程序赏析2:AB RSLOGIX 5000
- 【四】Java流程控制
- Spring Boot文档阅读笔记-EhCache的使用