当前位置: 首页 > news >正文

奉贤网站建设推广地方生活门户网站有哪些

奉贤网站建设推广,地方生活门户网站有哪些,深圳网站设计服务公,注册域名需要什么一、概念 Redis Streams是Redis5.0提供的一种消息队列机制,支持多播的可持久化的消息队列,用户实现发布订阅的功能,借鉴了kafka设计。 二、常用命令 命令名称描述XADD key ID field value [field value ...]添加一条消息 key:St…

一、概念

Redis Streams是Redis5.0提供的一种消息队列机制,支持多播的可持久化的消息队列,用户实现发布订阅的功能,借鉴了kafka设计。

二、常用命令

命令名称描述
XADD key ID field value [field value ...]添加一条消息
  • key:Stream 的名称;
  • ID:消息的唯一标识符,可以使用 * 自动生成;
  • field value:消息的内容,以键值对的形式存储。
XREAD [COUNT count] STREAMS key [ID]

从一个或多个 Stream 中读取消息。

  • COUNT:限制返回的消息数量(可选);
  • STREAMS:指定要读取的 Stream 键;
  • ID:指定从哪个消息 ID 开始读取($ 表示只读取新消息,0 表示从头开始读取)。
XREADGROUP GROUP group consumer [COUNT count] STREAMS key [ID]

从消费者组中读取消息。

  • GROUP:指定消费者组名称;
  • consumer:指定消费者名称;
  • ID:通常使用 > 表示只读取未消费的消息。
XGROUP CREATE key groupname ID

创建一个新的消费者组。

  • key:Stream 的名称;
  • groupname:消费者组名称;
  • ID:指定消费者组从哪个消息 ID 开始消费($ 表示从最新消息开始)。
XGROUP DESTROY key groupname删除一个消费者组
XGROUP SETID key groupname ID修改消费者组的起始消费位置
XACK key groupname ID [ID ...]

确认消息已被成功处理。

  • key:Stream 的名称。
  • groupname:消费者组名称。
  • ID:需要确认的消息 ID。
XPENDING key groupname查看消费者组中未确认的消息统计信息
XPENDING key groupname start end count [consumer]查看具体的未确认消息列表
XDEL key ID [ID ...]

删除指定的消息。

  • key:Stream 的名称。
  • ID:需要删除的消息 ID。
XTRIM key MAXLEN [=|~] threshold

控制 Stream 的长度,删除旧消息。

  • MAXLEN:设置最大长度。
  • =:严格模式,保留指定数量的消息。
  • ~:近似模式,可能保留比指定数量稍多的消息。
XINFO STREAM key获取 Stream 的基本信息
XINFO GROUPS key获取 Stream 的所有消费者组信息
XINFO CONSUMERS key groupname获取消费者组中的所有消费者信息
XLEN sms_stream查看Stream长度

三、应用场景

采用Redis Streams 实现短信发送队列的异步处理,替代传统List列表无数据轮询模式,降低系统资源消耗。

角色定义

  • 生产者:短信网关服务,将待发送短信封装为消息写入Redis Stream。

  • 消费者组:多个短信处理节点(Consumer Group),每个节点负责消费部分消息。

  • 消息格式:使用Protobuf序列化消息体,包含手机号、内容、模板ID等字段。

1.Redis命令实现

生产者通过XADD命令写入Stream

XADD sms_stream * mobile "13800138000" content "您的验证码是1234" template_id "T1001"

消费者通过XREADGROUP阻塞读取消息

XREADGROUP GROUP sms_group consumer1 COUNT 1 BLOCK 5000 STREAMS sms_stream >

消息处理成功后发送XACK确认

XACK sms_stream sms_group "1678905140000-0"

消费者组初始化

XGROUP CREATE sms_stream sms_group $ MKSTREAM

消息重试机制,Pending List处理:定时扫描未ACK的消息(超过30秒未确认),重新投递

local pending = XPENDING sms_stream sms_group - + 10
for each message in pending doXCLAIM sms_stream sms_group consumer2 30000 <message-id>
end

限制Stream最大长度(避免内存溢出)

 四、与传统轮询模式对比
维度传统轮询(List/LPOP)Redis Streams
资源消耗高频空轮询消耗CPU/网络阻塞读取,无消息时挂起,降低30% CPU
消息可靠性无ACK机制,消息可能丢失支持ACK+Pending List,确保至少一次投递
吞吐量单消费者约5万条/秒消费者组多节点并行,可达20万条/秒
功能扩展仅基础队列支持多消费者组、消息回溯、阻塞读取
http://www.dtcms.com/a/610723.html

相关文章:

  • Unity 图集的图片切片
  • 郑州注册公司网站wordpress文档模板下载
  • android--studio用sshj,而不是sftp上传和下载文件以及错误提醒
  • Rust的内存安全与实战落地的直观解析
  • 网站建设系统规划怎样在赶集微网站做微招聘信息
  • 写作网站保底和全勤的区别用二级域名做网站对seo
  • 升鲜宝分拣系统 具体实现(一)
  • 具身智能-一文详解视觉-语言-动作(VLA)大模型(3)
  • 多模态学习核心技术与典型场景对照表
  • 3d网站设计7免费crm
  • 常德烟机网站上市公司集团网站建设
  • MySQL -- 库的操作
  • 网站开发文档docwordpress文章和页面
  • 番禺核酸检测点在哪石家庄网站建设seo公司
  • 人力资源网站开发说明书网站没被百度收录
  • 【深度学习新浪潮】算法工程师如何入门芯片硬软件设计工作?
  • JM20329是一款高性能、低功耗的USB桥接芯片,实现串行接口(如SATA、IDE)与USB接口之间的数据转换。
  • 微调模型过程中,发现欠拟合的措施
  • 网站代发怎么做网站建设标语文案
  • Wisdom Lens:开启物联网固件模糊测试新时代
  • 番禺区建设局网站影视公司起名
  • js(BOM)基础:15、Navigator对象、History对象、Location对象、定时(器)调用、demo(定时器实现图形变化动画)
  • 屏幕捕捉工具 (Screen Capture Tool)
  • 分离Hadoop客户端单独使用
  • 12306网站 谁做的网络营销八大工具
  • 渭南商铺网站建设关于文明网站建设存在的问题
  • C语言编译程序及其优化策略|详细解析如何提高C语言编译效率与代码执行性能
  • 通过 MQTT 命令控制 RV1106 的 WebRTC 推流启停” 及 “30 分钟无命令自动停止”
  • C++中将FlatBuffers序列化为JSON
  • 营销网站制作平台有哪些企业网站特色建设