当前位置: 首页 > news >正文

【Redis】Redis实现的消息队列

一、用list实现【这是数据类型所以支持持久化】

        消息基于redis存储不会因为受jvm内存上限的限制,支持消息的有序性,基于redis的持久化机制,只支持单一消费者订阅,无法避免消息丢失。

二、用PubSub【这不是数据类型,是一种通讯机制,所以不支持持久化】

        支持多消费者订阅,但是不支持消息持久化,无法避免消息丢失。

三、基于stream的消息队列

        单消费模式

        【】是可选参数

        消息可以回溯,也可以被多个消费者读取,读取后不会消失,可以阻塞读取数据,但是可能会漏读因为循环后读取$意思是读取最新消息,如果一次性插入多个数据,可以读取只读取到最后一条消息,其他消息可能会漏读。

        消费者组消费模式

        它可以保证消费者从最后次一次消费的时候开始消费,避免消息丢失。然后它可以避免消费者对于同一个消息重复消费,会有消息确认机制,发送消息后会是pending状态,它会进入一个pendding队列,防止消息进入队列后没有持久化就挂掉,它会先存起来,对redis恢复后进行ack消息确认如果确认了说明消息被使用了,那就移除这个pendding队列。

http://www.lryc.cn/news/487578.html

相关文章:

  • # Spring事务
  • Java学习笔记--数组常见算法:数组翻转,冒泡排序,二分查找
  • ARM 架构(Advanced RISC Machine)精简指令集计算机(Reduced Instruction Set Computer)
  • 7.STM32之通信接口《精讲》之USART通信---多字节数据收发(数据包的模式:HEX数据包和文本数据包)
  • 基于Vue+SpringBoot的求职招聘平台
  • WebRTC 和 WebSocket
  • 小车综合玩法--5.画地为牢
  • 数据库课程设计全流程:方法与实例解析
  • 用Ruby编写一个自动化测试脚本,验证网站登录功能的正确性。
  • 跳表 | 基本概念 | 代码实现
  • 分数加减
  • 基于卷积神经网络的皮肤病识别系统(pytorch框架,python源码,GUI界面,前端界面)
  • QT与嵌入式——获取网络实时时间
  • 优化装配,提升品质:虚拟装配在汽车制造中的关键作用
  • Bug的严重等级和优先级别与分类
  • 游戏引擎学习第13天
  • bind返回失败(ctrl+c)结束后不能再次加载
  • 菜鸟驿站二维码/一维码 取件识别功能
  • 23种设计模式-备忘录(Memento)设计模式
  • 搜维尔科技:Manus遥操作五指机械手专用手套惯性高精度虚拟现实
  • MySql面试题.运维面试题之五
  • 小程序-基于java+SpringBoot+Vue的小区服务管理系统设计与实现
  • JWT 过期后 自动刷新方案
  • react-amap海量点优化
  • GRU(门控循环单元)详解
  • 【代码随想录|回溯算法排列问题】
  • Azure Kubernetes Service (AKS)资源优化策略
  • R语言 | 宽数据变成一列,保留对应的行名和列名
  • RTSP播放器EasyPlayer.js播放器在webview环境下,PC和安卓能够正常播放,IOS环境下播放器会黑屏无法播放
  • .NET周刊【11月第3期 2024-11-17】