引言

本篇分析redis客户端与服务器进行连接并发送命令的过程。

  1. Redis服务器正在运行,服务器的监听套接字的AE_READABLE事件处于监听状态下,当前所对应的事件处理器为:连接应答处理器。
  2. Redis客户端向服务器发起连接请求,触发连接应答处理器执行。创建客户端套接字以及客户端状态,并将客户端套接字的AE_READABLE事件与命令请求处理器进行关联,使得客户端可以向服务器发送命令请求。
  3. 客户端向服务端发送命令请求,触发命令请求处理器,命令请求处理器读取客户端的请求内容,并处理。
  4. 服务端将客户端的AE_WRITEABLE事件与命令回复处理器进行关联。
  5. 客户端尝试读取命令回复时,触发命令回复处理器,将命令回复写入到套接字。
  6. 最后服务器解除客户端套接字的AE_WRITEABLE事件与命令回复处理器之间的关联。

tencent.jpg