第二部分之事件(第十二章)

Redis服务器是一个事件驱动程序,服务器需要处理两类事件:

文件事件:

文件事件就是服务器对套接字(socket)操作的抽象,服务器和客户端的通信会产生文件事件

时间事件:

时间事件就是服务器对定时操作(比如serverCron函数)的抽象,Redis服务器中的一些操作需要在给定的时间点执行

一,文件事件

 文件事件处理程序是基于Reactor的网络通信程序,是对套接字操作的抽象,每当套接字变成可应答、可读、可写的时候,相应的文件事件就会产生。

1.文件事件处理器的组成

套接字

IO多路复用程序:

负责监听多个套接字,并向文件事件分派器传送产生了事件的套接字。

由于文件事件可能并发的出现,所以IO多路复用程序会把所有产生事件的套接字放到一个队列里,然后通过这个队列,以有序,同步,每次一个套接字的方式向文件事件分派器传送套接字。当上一个套接字产生的事件被处理完才传送下一个套接字

文件事件分派器:

接收IO多路复用程序传来的套接字,并

事件处理器

猜你喜欢

转载自www.cnblogs.com/inspred/p/10681687.html