Redis(五)-特性-消息队列

 我来答
白露饮尘霜17
2022-07-15 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6875
采纳率:100%
帮助的人:38.2万
展开全部

消息队列要能支持组件通信消息的快速读写,而Redis本身支持数据的高速访问,正好可以满足消息队列的读写性能需求。另外,消息队列在存取消息时,必须要满足三个需求:

针对消息队列的需求,本节就来分析下Redis实现消息队列的方案

BLPOP :队列为空时阻塞
LPUSH :队列满时阻塞
BRPOPLPUSH :取出消费同时保存到另外一个备份list

从消息有序性、唯一性、可靠性三个方面分析是否可行

为了解决可靠性问题可以使用BRPOPLPUSH

当consumer故障恢复后可以从备份队列中取出消息进行处理

Streams是Redis专门为消息队列设计的数据类型,它提供了丰富的消息队列操作命令;

XADD :插入消息,消息的格式是键-值对形式,保证有序,可以自动生成全局唯一ID;
XREAD :用于读取消息,可以按ID读取数据;
XREADGROUP :按消费组形式读取消息;
XPENDING :用来查询每个消费组内所有消费者已读取但尚未确认的消息
XACK :用于向消息队列确认消息处理已完成

-------- over ---------

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式