redis基于Stream类型实现消息队列,命令操作,术语概念,个人总结等



个人大白话总结

1 在Redis Stream中,即使消息被消费者确认(acknowledged, ACK),消息也不会自动从Stream数据结构中删除。这与Kafka或RabbitMQ等传统消息队列系统的做法不同,在那些系统中,一旦消息被消费并确认,通常会被从队列中移除以释放存储空间。

2 若一个Stream中有5条消息,并且存在两个消费者组,这两个消费者组可以各自独立地消费这些消息,即所有消息对于不同消费者组来说是“广播”的,这一点类似于Kafka中的逻辑,每个消费者组都会按照其自身的消费进度处理消息。

3 在同一个消费者组内部如果有两个消费者A和B,若A已消费了3条消息,则剩余的2条消息将可供B或其他消费者消费。这意味着同一个消费者组内的多个消费者之间遵循竞争消费模式(Competitive Consumer Pattern),确保消息仅被组内一个消费者消费一次

4 当消费者从Stream中读取消息并开始处理时,它们会在本地维护一个Pending(待处理)列表,并将接收到的消息存入其中。当消费者完成对某条消息的处理并成功提交确认(acknowledge, ACK)后,该条消息会在消费者本地的Pending列表中被移除或者被标记为已处理状态。这种设计确保了消息的有序消费、状态跟踪以及防止消息被重复消费,因为只有当消息被确认处理完成后,才会从本地Pending列表中清除,从而允许消费者获取并处理新的消息。


stream相关的命令使用

基于Redis的Stream类型的完美消息队列解决方案 - 知乎

Redis入门 - 数据类型:Stream详解_redis stream-CSDN博客 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatisPlus详解(四)通用枚举、JSON类型处理器、配置加密、自动分页插件与工具类

文章目录 前言3 扩展功能3.3 通用枚举3.3.1 使用枚举类3.3.2 功能测试 3.4 JSON类型处理器3.4.1 使用JSON类型处理器3.4.2 功能测试 3.5 配置加密3.5.1 生成密钥3.5.2 修改配置3.5.3 功能测试 4 插件功能4.1 自动分页插件4.1.1 配置分页插件4.1.2 分页API 4.2 通用分页实体4.2.…

递归实现斐波那契数列的空间复杂度的讲解

题目:计算斐波那契数列Fib的空间复杂度 过程图解: 理解要点: 递归的运算顺序和方式不是同时进行图中的所有Fib函数,而是有顺序的! 第一步:单独的一个Fib(N)进行到底Fib&#xff08…

XV6源码阅读——进程地址空间

文章目录 前言页表实际情况 前言 一个本硕双非的小菜鸡,备战24年秋招。打算尝试6.S081,将它的Lab逐一实现,并记录期间心酸历程。 代码下载 官方网站:6.S081官方网站 页表 每个进程都有一个单独的页表,当xv6在进程之…

Linux套接字编程详解

Linux套接字编程 预备知识IP地址和MAC地址套接字结构网络字节序 UDP套接字编程服务端代码客服端代码 TCP 套接字守护进程 计算器模块1 日志头文件序列化和反序列化 预备知识 IP地址和MAC地址 MAC地址用来在局域网中标识唯一主机 Ip地址用于在广域网中标识唯一主机 &#xff0…

2767. 将字符串分割为最少的美丽子字符串

2767. 将字符串分割为最少的美丽子字符串 Java: class Solution {int cnt;int ans;int[] arr;Set<Integer> set;private void dfs(String s, String s1, int pos, int len) {if (pos len) {ans Math.min(ans, cnt);return;}for(int i pos; i < len; i) {String s2…

软件游戏缺失d3dcompiler_43.dll怎么修复?分享多种靠谱的解决方法

在我们日常频繁地操作和使用电脑的过程中&#xff0c;时常会遇到一些突发的技术问题。其中一种常见的情况是&#xff0c;在尝试启动或运行某个应用程序时&#xff0c;系统会弹出一个错误提示窗口&#xff0c;明确指出当前电脑环境中缺少了一个至关重要的动态链接库文件——d3dc…

Linux配置腾讯云yum源(保姆级教学)

1. 备份原有的 yum 源配置文件 例如&#xff1a; mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2. 下载腾讯云的 yum 源配置文件 例如&#xff1a; wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/…

将数字状态码在后台转换为中文状态

这是我们的实体类 可以看出我们的状态status是2如果返回到前端我们根本不知道2代表的是什么&#xff0c;所以我们需要再这里将数字转换成能看懂的中文状态&#xff0c;首先我们创建一个枚举类 先将我们状态码所对应的中文状态枚举出来&#xff0c;然后创建一个静态方法&#…

基于OpenCV+QT的人脸识别打卡项目

1.基本概念 基于OpenCV的人脸识别是一个多步骤的过程&#xff0c;通常涉及以下步骤&#xff1a; 人脸检测&#xff1a;使用Haar级联或深度学习模型来检测图像中的面部区域。OpenCV提供了预训练的Haar级联分类器&#xff0c;可以用于快速检测。 特征提取&#xff1a;一旦检测到…

eCharts 折线图 一段是实线,一段是虚线的实现效果

在lineStyle里写了不生效的话&#xff0c;可以尝试数据拼接 option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [150, 230, 224,218 ,,,],type: line},{data: [,,, 218, 135, 147, 260],type: line,lineStyl…

【御控工业物联网】JAVA JSON结构转换、JSON结构重构、JSON结构互换(5):对象To对象——转换映射方式

御控官网&#xff1a;https://www.yu-con.com/ 文章目录 御控官网&#xff1a;[https://www.yu-con.com/](https://www.yu-con.com/)一、JSON结构转换是什么&#xff1f;二、术语解释三、案例之《JSON对象 To JSON对象》四、代码实现五、在线转换工具六、技术资料 一、JSON结构…

JavaScript实现代码雨

一、功能描述 使用canvas实现一个代码雨的功能&#xff0c;炫一个~~~ 二、上码 html <canvas id"canvas"></canvas> js let canvas document.querySelector(canvas);let ctx canvas.getContext(2d);// screen.availWidth:可视区域的宽度canvas.width…

深度学习框架pytorch:tensor.data和tensor.detach()的区别

本文重点 本文我们区别一下tensor.data和tensor.detach(),我们所讲解的都是pytorch的1.0版本的情况 官方解释 返回一个新的张量,它与当前图形分离。结果永远不需要梯度。返回的张量与原始张量共享相同的存储空间。将看到对其中任何一个的就地修改,并且可能在正确性检查中…

测试用例设计方法-探索性测试

生活犹如骑单车&#xff0c;唯有前进才能保持平衡。大家好&#xff0c;今天给大家分享一下关于探索性测试的方法&#xff0c;在探索性测试中更加考验测试人员的经验&#xff0c;所以我们在平时的测试工作中一定要多记录、多总结、多复盘&#xff0c;对于经常出现的bug深究其根本…

【论文解析】笔触渲染生成 前沿工作梳理

最近的一些工作梳理 2023年 Stroke-based Neural Painting and Stylization with Dynamically Predicted Painting Region 2022年Im2Oil: Stroke-Based Oil Painting Rendering with Linearly Controllable Fineness Via Adaptive Sampling 文章目录 1 Stroke-based Neural P…

Python实现“黑猫投诉平台,舆论监控系统”

黑猫投诉平台&#xff0c;舆论监控系统 BuzzMonitor https://github.com/nangongchengfeng/BuzzMonitor.git 简介 "黑猫投诉"舆论监控系统是一款专为快速识别和响应网络投诉而设计的应用&#xff0c;旨在帮助企业或机构第一时间掌握公众意见和反馈。通过实时监控网…

Echarts异步数据与动画加载

目录 简介 头部代码 这段代码是使用 Echarts 绘制图表的关键部分。首先&#xff0c;初始化了一个 Echarts 实例。然后&#xff0c;通过 Ajax 请求获取数据&#xff0c;并基于此设置图表选项。其中包括颜色、背景色、标题、提示框、图例以及饼图的具体配置。 具体解释如下&a…

excel相同行不同列查询

EXCEL中e列和f列是每一行对应的&#xff0c;我想在d列中找和e列一样的元素&#xff0c;然后获取同一行中f列的值 IFERROR(VLOOKUP(D1, E:F, 2, FALSE), "")

MySQL索引为什么选择B+树,而不是二叉树、红黑树、B树?

12.1.为什么没有选择二叉树? 二叉树是一种二分查找树,有很好的查找性能,相当于二分查找。 二叉树的非叶子节值大于左边子节点、小于右边子节点。 原因: 但是当N比较大的时候,树的深度比较高。数据查询的时间主要依赖于磁盘IO的次数,二叉树深度越大,查找的次数越多,性能…

python爬虫 - 爬取 json 格式数据(股票行情信息:雪球网,自选股)

文章目录 1. 第一步&#xff1a;安装requests库2. 第二步&#xff1a;获取爬虫所需的header和cookie3. 第三步&#xff1a;获取网页4. 第四步&#xff1a;解析网页5. 第五步&#xff1a;解析 json 结构数据体6. 代码实例以及结果展示 python爬虫五部曲&#xff1a; 第一步&…