Redis的事件处理机制分析

 redis服务器是典型的事件驱动系统,它的事件分为两大类:文件事件和时间事件

1、什么是事件驱动?

所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数).当然事件不仅限于用户的操作. 事件驱动的核心自然是事件。

从事件角度说,事件驱动程序的基本结构是由一个事件收集器、一个事件发送器和一个事件处理器组成。

  • 事件收集器专门负责收集所有事件,包括来自用户的(如鼠标、键盘事件等)、来自硬件的(如时钟事件等)和来自软件的(如操作系统、应用程序本身等)。

  • 事件发送器负责将收集器收集到的事件分发到目标对象中。

  • 事件处理器做具体的事件响应工作。

2、Redis的事件

2.1、文件事件

文件事件其实就是普通的socket的读写事件,也就是IO操作。

比如: 客户端的连接,命令请求,数据回复,连接断开等。

2.1.1、Reactor模式

Redis中采用的事件处理机制是Reactor模式,属于IO多路复用的一种常见模式。

IO多路复用指的是通过单个线程去管理多个Socket.

Reactor模式是一种为处理并发服务请求,并将请求提交到一个或多个服务处理程序的事件设计模式。

Reactor模式是通过事件来驱动的,包含了:

  • 一个或多个并发的输入源(文件事件)

  • 有一个服务处理类(Service Handler),也叫做事件收集器

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小何

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值