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脚本)

相关推荐
廿一夏1 小时前
MySql存储引擎与索引
数据库·sql·mysql
Mahir081 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
曲幽1 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
lzhdim3 小时前
SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题
数据库·sql
瀚高PG实验室3 小时前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)4 小时前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
YOU OU5 小时前
Spring IoC&DI
java·数据库·spring
Muscleheng5 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿6 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-6 小时前
Redis 命令
数据库·redis·缓存