Redis 网络请求处理模块
一、关联的文件列表
SOCKET只是TCP/IP协议的抽象软件层,提供简单的API给用户操作TCP/IP协议来进行网络请求处理,UINX一切皆文件的理念,所以SOCKET只是一个特殊的文件描述符。
摘要:redis的用TCP协议,socket来监听和读写网络请求,将需要监听的事件放入epoll事件管理里面,然后收集触发的事件,然后进行相应的命令处理。
REDIS用的是单线程模式,所有的网络事件处理都是靠epoll事件管理器,进行收集发生的事件,然后循环一个一个处理,所有REDIS的处理模式是单线程
服务端生命周期里面只会创建一个socket描述符来监听用户的连接请求,而对应读和写会创建多个新的SOCKET来进行与多个客户端的交互。
命令执行过程中,会增量同步到本机的aof文件,如果是主从关系还会传播到它的slaves机器达到增量同步的效果。
二、处理流程,流程是从accept监听连接请求开始的,因为服务器初始化的时候会创建一个监听连接请求的事件放入EPOLL中,网络请求模块里面只处理accept后面的流程。