Redis 命令处理流程解析

Redis 5.0.4 版本的命令处理流程可以分为三个异步的、独立的阶段:

  1. 接受连接请求: 接收客户端的连接请求。
  2. 接收和处理请求: 接收客户端发送的命令请求,并进行处理。处理结果不会立即发送给客户端,而是先写入响应缓冲区。
  3. 响应请求: 将响应缓冲区中的数据发送给客户端。

这三个阶段都由 Redis 的简单事件驱动机制(AE)触发,AE 是对不同操作系统事件机制的封装,例如 Linux 上的 epoll、macOS 上的 evport、FreeBSD 上的 kqueue 以及其他系统上的 select。