发布时间:2023-04-25 10:00
Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件:
文件事件:Redis服务器通过套接字与客户端(或者其他redis服务器)连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端(或者其他服务器)的通新会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列网络通信操作。
时间事件:redis服务器中的一些操作(比如serverCron函数)需要在给定的时间点执行,而时间事件就是服务器对这类定时操作的抽象。
目录
1、文件事件
1.1文件事件处理器的构成
1.2I/O多路复用程序的实现
1.3事件类型
1.4API
1.5文件事件的处理器
1.5.1连接应答处理器
1.5.2命令请求处理器
1.5.3命令回复处理器
2、时间事件
2.1实现
2.2API
2.3时间事件的应用:serverCron函数
3、事件的调度与执行
文件处理器的四个组成部分:套接字、I/O多路复用程序、文件事件分派其、事件处理器
redis为文件事件编写了多个处理器,这些事件处理器分别用于实现不同的网络通信需求:
一个时间事件是定时事件还是周期性事件取决于时间事件处理器的返回值:
目前版本的redis只使用周期性事件,而没有使用定时事件。
因为服务器中同时存在文件事件和时间事件两种事件,所以服务器必须对这两种事件进行调度,决定何时应该文件事件,何时应该处理时间事件,以及花多少时间来处理它们。