事件

2018-12-07  本文已影响1人  简书徐小耳

redis服务器是一个事件驱动的程序,服务器需要处理以下两类事件

文件事件(file event)

AE_READBLE事件对应着socket可读(里面包含客户端对socket执行了write或者close 或者有新的可连接socket)。类似于客户端对服务端的操作

AE_WRITEABLE(当客户端对socket执行read操作时候)。 类似服务端响应客户端

不同的事件对应不同的处理器

image.png image.png

整个处理过程如下


image.png
时间事件 (time event)

事件时间可以分为定时和周期

实现

serverCron函数主要做的事情


image.png

如何处理文件和时间事件,以及他们各自耗时多久来处理(类似于netty的处理io和task)

image.png image.png
当我们将上述aeProcessEvents放入循环里面 在加上初始化和清理函数,这就sredis服务器的主函数
image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读