问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Redis 多消费队列方案

发布网友 发布时间:2022-11-27 13:34

我来回答

1个回答

热心网友 时间:2023-10-16 21:27

首先在Redis-cli中使用XADD命令插入一条数据

查看对象编码

可以看到对象的数据类型为stream,返回的streamID 的基本结构为 "{timestamp}-{sequence}"
使用XINFO命令查看该 stream Key 的基本信息

可以看到stream中使用了一种 "radix-tree" 数据结构。

Radix树对上述单词的存储

当插入first时

相比于普通的字典树,Radix树会将单节点树枝压缩为一个节点,以节省存储空间,提高搜索的效率。在Streams结构中,默认生成的StreamID为 时间戳+自增序列号 的形式,当消息的时间分布紧凑时,这种存储结构多个StreamID复用的前缀将很长,可以将存储空间压缩得很小,这对于内存使用内存存储数据的Redis很重要。Radix树的另一个优点是解决了hash冲突的问题。对于一般的hash结构,当遇到hash冲突的情况,一般采用链地址法的方式解决冲突。这样一个hash槽中的链可能会很长,如果采用扩容的方式,执行效率一般也不是很高。采用树结构索引数据解决了hash冲突的问题。当然,Radix树在遇到新插入的数据时也会遇到数据节点拆分的问题。

stream 是一种 append-only 的数据结构,只有 del 命令可以删除对应的Key。

指定添加数据的最大长度(~表示只在节点删除时清除数据,能保证数据个数的最大长度不小于 LENGTH 个,不需要每次调整Radix树,性能相对较好)

阻塞式,获取最新1条的数据(阻塞单位:ms)

根据Streams支持的命令,要使用Streams作为多消费队列,主要有以下几点:

官网介绍
中文官网命令介绍
图解Redis数据结构,讲的比较好
知乎上基于Redis消息队列方案介绍
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 交互设计的“根”——七大定律 交互设计原则和理论2——七大定律 七大设计原则 附近的加油站有哪些 附近的加油站有哪些地方 手机为什么不能收到验证码? 刚交房的期房能卖吗 三相发电机怎么带不动搅拌机呢 我新买的15kW的发电机代一台5.5的搅拌机头几天好使今天就代不动了这是什么情? 220v搅拌机电机带不动 电脑开机一直英文进不去 热玛吉是什么?热玛吉的原理是什么? 热玛吉和超声刀哪个好 超声刀手术注意事项 超声刀和热玛吉区别 主要是这两个方面 热玛吉和超声刀有什么区别 热玛吉和超声刀的区别 小米11pro和小米11ultra对比-小米11pro和小米11ultra哪个好 二年级数学下册第二单元测试卷 鸡肉可以做馄饨馅吗 密码用英语怎么读 那些好喝且上瘾的「气泡水」推荐 多功能电热锅的优点有什么? 西柚要不要吃里面的皮 西柚怎么吃才好吃 电容器2400F_2.7V和5600uF_400Ⅴ有什么曲别? 钉钉聊天过程中的反诈提示怎么关闭 中国的民营企业知识型员工的平均流动率接近50%.有的甚至高达70%。,而优秀企业的人才流动率应在15%左右 华为手机内存卡升级有必要吗? 河北科技师范学院新生宿舍条件带空调,宿舍内部环境图片 山东管理学院宿舍条件,宿舍环境图片(10篇) 重庆电力高等专科学校宿舍条件,宿舍图片和环境空调及分配方法 梦幻西游狮驼新奇经八脉衣服符石怎么打 梦幻西游狮驼岭奇经八脉的问题 荣威汽车标志是什么啊 树脂NP-23DP-3有毒吗 求一份医用B超机的检测校验方法 楼梯的最低尺寸是多少 已知Qd=14-3P,对方程对P求导,怎么得出dQd/dP=-3 世界十大最古老的遗迹 感受古代文明的魅力吧! iqooneo2数据线一般是多少米 隐僧的目录 《隐僧》txt下载在线阅读全文,求百度网盘云资源 全球寻找隐僧是何人?联系方式? 粽子是酸性还是碱性?粽子是碱性的吗? 电销的手机号被封了怎么办?外呼系统管用吗? 如何评价别人的作文 50字~80字 助学贷款续贷为什么出现身份信息核验