redis事件的类型种类和功能的简单介绍

文件事件处理器是redis自己开发的用于redis服务器的事件处理器

文件事件处理器虽然使用的单线程方式运行的,但通过使用I/O多路复用来同时监听多个套接字,当给个套接字准备好执行连接应答、读取、写入等操作时,与之相对应的文件事件就会产生。文件事件处理器会根据目前套接字执行的任务,选择相对应的文件事件来进行处理。这样就既实现了高性能的通信,也很好的与redis中其他的单线程方式的模块进行对接,保持了redis的内部设计的简单性。

文件事件处理器的构成


I/O多路复用是把文件套接字放到一个队列中,然后通过队列,把套接字以有序、同步的方式发送到文件事件分派器。I/O多路复用只会等上一个套接字处理完之后,才会把下一个套接字发送过去。
文件事件分派器会把接收到的套接字,根据套接字的产生的事件类型调用响应的事件处理器。
事件处理器是一个一个的函数,他们定义了当这个函数发生时,服务器该执行的动作。

客户端和服务器的连接事件实例

在这里插入图片描述

时间事件

redis的时间事件分为两种,一种是定时事件,一种是周期性事件。

定时事件

定时事件:就是让服务器在指定的时间之后执行一次

周期性事件

周期性事件:即是让服务器每个一段时间执行一次

事件的调度与执行

redis服务器有两种事件类型,所以服务器要对这两种事件类型进行调度。下图即是每种事件的调度与执行流程:
在这里插入图片描述
以上内容均出自《redis设计与实现》一书。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值