与传统的单线程Redis服务不同,云数据库Redis版的增强性能实例采用多线程模型,将单个节点的性能提高到原本的三倍左右。

架构详解

原生Redis数据处理流程为:读取请求,解析请求,处理数据,发送响应。其中网络IO和请求解析占用了大部分的资源。Redis增强性能实例将Redis服务各阶段的任务进行分离,通过分工明确的多个线程并行处理各阶段任务,达到提高性能的目的。

  • IO线程:负责请求读取、响应发送、命令解析等;
  • Worker线程:负责命令处理、定时器事件等;
  • 辅助线程:负责高可用探测、保活等。

下方的架构图展示了单线程模型和多线程模型的区别。

图 1. 标准性能实例的单线程模型

标准性能Redis实例的单线程模型
图 2. 增强性能实例的多线程模型

增强性能Redis实例的多线程模型

IO线程读取用户的请求并进行解析,之后将解析结果以命令的形式放在队列中发送给Worker线程处理。Worker线程将命令处理完成后生成响应,通过另一条队列发送给IO线程。

Redis增强性能实例最多支持6个IO线程并发运行。为了提高线程的并行度,IO线程和Worker线程之间采用无锁队列和管道进行数据交换。

更多信息

文档 说明
什么是Redis增强性能实例 介绍Redis增强性能实例的特性、适用场景以及购买方式。
规格性能 介绍Redis增强性能实例的各项规格参数,帮助您合理选型。