Redis(十六),springboot实战项目教程

本文详细介绍了Redis的文件事件处理,包括IO多路复用、事件类型和处理器,以及连接应答、命令请求和回复的处理流程。此外,还探讨了时间事件,如定时和周期性任务的执行机制,强调了ServerCron函数和事件调度的重要性。
摘要由CSDN通过智能技术生成
    • 文件事件处理的构成
  • IO多路复用程序的实现

  • 事件的类型

  • 文件事件的处理器

    • 连接应答处理器
  • 命令请求处理器

  • 命令回复处理器

  • 完整的连接过程

  • 时间事件

    • 时间事件的实现
  • ServerCron函数

  • 事件的调度与执行

    • 调度规则
  • 重点

事件


在AOF那章提到过,Redis服务器是一个事件驱动的程序,由一个Loop循环不断地接收事件执行和执行时间事件

首先认识以下什么是套接字

套接字是对运输层以下的一个抽象封装,将运输层以下,包括运输层的细节全部封装起来,这样应用层传数据给下层时,就不需要关注下面的细节,只需传给套接字即可。

然后再认识以下什么是IO多路复用

一般来说,解决并发的问题会开启多个线程去执行不同的连接,但是这有一个弊端就是CPU要切换上下文,因为每个线程有自己的空间,执行不同的线程时候,CPU也要对应切换不同的上下文(所以多线程会很耗CPU)

IO多路复用是针对单线程并发的,多路是指多个连接,复用是指都是使用同一个线程,比如现在有4个客户端连接上了Redis,在Linux中一切都是文件,所以这4个连接可以当成是4个文件,假如这4个文件都没有数据,那么就会发生阻塞,等待某一个或多个文件被传输进数据,当文件有数据的时候(即要进行IO操作),该文件就会被标记,然后停止阻塞,准备进行IO,然后去轮询有标记的文件,针对进行IO操作,这样就实现了IO多路复用。

  • 文件事件(file event):Redis服务器是通过套接字与客户端或别的服务器进行连接,而文件事件就是服务器套接字操作的抽象,服务器与客户端(或其他服务器)的通信会产生相应的文件事件,服务器则通过监听并处理这些事件来完成一系列操作

  • 时间事件(time event):时间事件是Redis服务器一些定时执行的操作,比如前面提到的ServerCron函数,是需要在指定时间点上执行的<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值