redis消息队列

redis 的list类型实现消息队列:

list结构实现的优缺点:

2、pubsub模式(消息发布订阅)实现消息队列

pubsub的优缺点:

命令行实现:

pub:第一次发送有两个接收,第二个只有一个接收

sub接收:

第一个sub接收的信息通道(order.p1)使得pub发送第二次消息没有接受到

第二个sub接收的频道(order.*)接收order.后面所有的频道,使得两次pub发送的消息都接收到了

stream实现消息队列:

具体的实现:

往里面存数据:

$:则实时取数据,在消息存放的时候才会获取

0:取第一个数据,始终取第一个数据

优缺点:

4、消息费者组(consumer Group):

创建一个消费者组: XGROUP CREATE s1 g1 $ (s1队列名称,g1消费者组的名称)

消息消费者命令:

确认消息命令:XACK key group ID [ID ...] (如果消息只是拿到,没有确认的话,消息会存放在expending-list里面)

查看pending-list的命令:XPENDING key group [[IDLE min-idle-time] start end count [consumer]]

stream group的优点:

三种实现消息队列的比较:

5、通过streamGroup消费者组,就可以实现消息队列(通过java和lua脚本)

相关推荐
小短腿的代码世界2 小时前
Qt 股票订单撮合引擎:高频交易系统的核心心脏
开发语言·数据库·qt·系统架构·交互
JosieBook2 小时前
【数据库】时序数据库选型指南:从数据模型到大模型智能分析
数据库·时序数据库
小猿姐3 小时前
Clickhouse Kubernetes Operator 实测:哪种方案更适合生产?
运维·数据库·kubernetes
最后一支迷迭香3 小时前
Redis+ThreadLocal实现防重复提交,参考美团GTIS防重系统
redis·threadlocal·防止重复提交
2501_921939263 小时前
MHA高可用
数据库·mysql
_Evan_Yao4 小时前
MySQL 基础:SELECT、WHERE、JOIN 的第一次使用
数据库·mysql
weixin_444012935 小时前
c++如何将std--vector直接DUMP到二进制文件_指针地址直写【附代码】
jvm·数据库·python
woxihuan1234565 小时前
Go语言中--=运算符详解:位右移赋值操作的原理与应用
jvm·数据库·python
java1234_小锋5 小时前
SpringBoot为什么要禁止循环依赖?
java·数据库·spring boot
神仙别闹5 小时前
基于QT(C++)实现学生成绩管理系统
数据库·c++·qt