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

Redis 04 Reactor

Reactor 设计模式是事件驱动的并发处理模式,高效处理多个输入源的请求。多路分解事件,同步分发到处理器。

单线程 reactor 模型

redis6.0 之前采用单线程 reactor 模型。即业务线程完成网络IO及命令处理。

reactor 模型处理三类事件:

  1. 连接事件。客户端请求连接。
  2. 读事情。实例读取客户端的命令。
  3. 写事件。实例查询得到的键值对返回给客户端。

针对三类事件,Reactor 模型提出三个处理器:
acceptor:负责处理连接。建立连接后,创建 handler。
handler: 处理读写事件。
reactor:专门监听和分配事件给 acceptor 或者 handler。

redis 实例启动时,向 reactor 注册连接事件,reactor 监听客户端发起的连接事件。
客户端发起连接请求,reactor将连接事件分发给 acceptor 处理器。处理器将连接所关系的读事件注册到 reactor 。
客户端发送命令,reactor 监听到读事件,将读事件分发给读处理器。

在这里插入图片描述

多线程 reactor 模型

redis 的性能瓶颈在网络IO。因此 redis6.0 之后采用多线程 reactor 模型。
即业务线程将 IO 事件交给IO线程处理。业务线程只处理事件分发和读取数据。

http://www.dtcms.com/a/334875.html

相关文章:

  • eChart饼环pie中间显示总数_2个以上0值不挤掉
  • 【集合框架List进阶】
  • 【UHD】vivado 2021.1 编译
  • 选择式与生成式超启发算法总结
  • 模型训练监控:TensorBoard与Weights Biases (WB) 使用详解
  • CVE-2024-28752漏洞复现
  • 电子电气架构 --- 软件项目配置管理
  • 序列晋升7:架构原则三十诫
  • 内网穿透实战笔记 1panel 面板部署 frps,Windows 部署 frpc
  • 程序设计|C语言教学——C语言基础3:函数、数组、指针
  • Python虚拟环境与包管理工具(uv、Conda)
  • 一汽红旗7月销量37324辆 同比增长21.1%
  • B站 韩顺平 笔记 (Day 20)
  • P2169 正则表达式
  • 如何运用好DeepSeek为自己服务:智能增强的范式革命 1.1 认知增强的三次浪潮
  • 项目管理进阶——解读大型IT系统集成项目实施要点培训【附全文阅读】
  • GLM-4-Flash:智谱AI推出的首个免费API服务,支持128K上下文
  • 制作 Windows 11 启动U盘
  • Redis缓存
  • Win11和Win10共享打印机提示709用添加Windows凭据来解决的小方法
  • select、poll 和 epoll
  • Python入门第5课:如何定义和使用函数,提升代码复用性
  • Jenkins Pipeline中参数化构建
  • 【wmi异常】关于taskkill命令提示“错误:找不到” 以及无法正常获取设备机器码的处理办法
  • 读书是一场最低成本的高级成长
  • 嵌入式硬件篇---运算放大器
  • OpenCV 图像处理基础操作指南(二)
  • NetBIOS 设置
  • MySQL的索引优化与查询优化:
  • AI搜索引擎下的内容优化新范式:GEO的关键技术解析