Redis 客户端与服务器连接流程实例

Redis 客户端连接服务器完整的流程

Redis 客户端与服务器连接流程实例

redis sever 启动时,会把 AE_READABLE 事件关联至 acceptTcpHandler 方法,向eventLoop注册。

Redis 客户端与服务器连接流程实例

当client连接server时,会触发redis sever的AE_READABLE事件为就绪状态。


当AE_READABLE事件为就绪态时,会在aeMain中对其进行处理,并执行绑定的acceptTcpHandler方法。在acceptTcpHandler方法中,会创建client实例,并将client的AE_READABLE事件和readQueryFromClient方法绑定,向eventLoop注册。

Redis 客户端与服务器连接流程实例

client向server发送命令,触发client的AE_READABLE事件变为就绪态。


在aeMain中对AE_READABLE变为就绪状态的事件进行处理。执行绑定的readQueryFromClient方法,并执行相应的命令。在命令执行过后准备发送结果给client之前,会把client的AE_WRITEABLE事件和sendReplyToClient方法绑定, 向eventLoop注册,同时发送命令,触发AE_WRITEABLE事件。


在aeMain中对AE_WRITEABLE的事件进行处理,执行绑定的sendReplyToClient方法,把命令发送给client,同时删除向eventLoop注册的AE_WRITEABLE事件。


上一篇:常见的几种语言C,C#,JAVA,Python的运行原理


下一篇:PHP日期时间用法大全