Redis 命令处理流程解析
Redis 5.0.4 版本的命令处理流程可以分为三个异步的、独立的阶段:
- 接受连接请求: 接收客户端的连接请求。
- 接收和处理请求: 接收客户端发送的命令请求,并进行处理。处理结果不会立即发送给客户端,而是先写入响应缓冲区。
- 响应请求: 将响应缓冲区中的数据发送给客户端。
这三个阶段都由 Redis 的简单事件驱动机制(AE)触发,AE 是对不同操作系统事件机制的封装,例如 Linux 上的 epoll、macOS 上的 evport、FreeBSD 上的 kqueue 以及其他系统上的 select。