单机数据库的实现----------04事件

1.文件事件:使用i/o多路复用

  1. 假设一个redis客户端发起连接,那么监听嵌套字将产生AE_READABLE事件,触发应答处理器,处理器对客户端的连接请求进行应答,然后创建客户端嵌套字及客户端状态,并将嵌套字的AE_READABLE事件与命令请求处理器关联,然后客户端向服务器发送命令请求(嵌套字)
  2. 当客户端尝试读取命令回复时,触发命令回复处理器,当命令客户端嵌套字的AE_WRITABLE事件。当命令回复处理器将命令全部写入到嵌套字后,服务端与嵌套字解绑

此时若有多个客户端,那么并发下如何处理:

尽管多个文件事件可能会并发出现,但是I/O多路用会将所有的嵌套字放入一个队列中,每次处理一个,处理完毕再处理另一个。

时间事件分为定时事件和周期性事件:定时事件只在指定时间内到达一次,周期性事件则每隔一段事件到达一次

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值