《Redis设计与实现》读书笔记-第二部分:单机数据库的实现-3:事件

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、事件的调度与执行


1、文件事件

1.1文件事件处理器的构成

文件处理器的四个组成部分:套接字、I/O多路复用程序、文件事件分派其、事件处理器

 

 

1.2I/O多路复用程序的实现 

1.3事件类型

 

1.4API

1.5文件事件的处理器

redis为文件事件编写了多个处理器,这些事件处理器分别用于实现不同的网络通信需求:

1.5.1连接应答处理器

 

1.5.2命令请求处理器

 

1.5.3命令回复处理器 

 

2、时间事件

redis的时间事件分为以下两类: 

一个时间事件主要由以下三个属性组成: 

一个时间事件是定时事件还是周期性事件取决于时间事件处理器的返回值: 

目前版本的redis只使用周期性事件,而没有使用定时事件。

2.1实现

 2.2API 

 

2.3时间事件的应用:serverCron函数

 

3、事件的调度与执行

因为服务器中同时存在文件事件和时间事件两种事件,所以服务器必须对这两种事件进行调度,决定何时应该文件事件,何时应该处理时间事件,以及花多少时间来处理它们。 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值