Redis是基于Reactor模式开发了网络事件处理器,这个处理器被称为文件事件处理器。它的组成结构为四部分:多个套接字、IO多路复用程序、文件事件分派器、时间处理器。因为文件事件分派器队列的消费是单线程的,所以redis才叫单线程模型。
- 文件事件处理器使用IO多路复用程序来同时监听多个套接字,并根据套接字目前执行的任务来为套接字关联不同的事件处理器。
- 当被监听的套接字准备好执行连接应答、读取、写入、关闭等操作时,与操作相对应的文件事件就会产生,这是文件事件处理器就会调用套接字之前关联好的事件处理器来处理这些事件。