1,文件事件
reids服务器通过套接字与客户端连接,文件事件是对套接字操作的操作,服务器通过监听与客户端的通信产生的文件事件,处理这些事件来完成一系列网络通信
文件事件处理器
文件事件处理器由:套接字、I/O多路复用程序、文件事件分派器、事件处理器组成;
套接字:每当一个套接字准备好执行链接应答、写入、读取、关闭等操作时,就会产生一个文件事件;文件事件可能会并发出现,因为一个服务器通常会链接多个套接字
IO多路复用程序:复制监听多个套接字,将所有产生事件的套接字放到一个队里中,以有序、每次一个套接字方式向文件事件分派器传送,当一个套接字产生的事件被处理完成后,多路复用程序才会继续想做个分派器传送下一个套接字;
文件事件分派器:接收IO多路复用程序传递来的套接字,根据套接字产生的事件类型调用响应的事件处理器
事件处理器:即事件处理函数,定义了某个事件触发时服务器的执行动作
IO多路复用程序实现
通过包装select、epoll、evport、kqueue多路复用函数库实现此能力;
事件类型
IO多路复用程序可监听多个套接字的AE_READABLE事件和AE_WRITABLE事件
当套接字变得可读时,或有新的可应答套接字时,产生AE_READABLE事件
当套接字变得可写时,产生