重点回顾

  • Redis 服务器是一个事件驱动程序,服务器处理的事件分为时间事件和文件事件两类。
  • 文件事件处理器是基于 Reactor 模式实现的网络通讯程序。
  • 文件事件是对套接字操作的抽象:每次套接字变得可应答(acceptable)、可写(writable)或者可读(readable)时,相应的文件事件就会产生。
  • 文件事件分为 AE_READABLE 事件(读事件)和 AE_WRITABLE 事件(写事件)两类。
  • 时间事件分为定时事件和周期性事件:定时事件只在指定的时间达到一次,而周期性事件则每隔一段时间到达一次。
  • 服务器在一般情况下只执行 serverCron 函数一个时间事件,并且这个事件是周期性事件。
  • 文件事件和时间事件之间是合作关系,服务器会轮流处理这两种事件,并且处理事件的过程中也不会进行抢占。
  • 时间事件的实际处理时间通常会比设定的到达时间晚一些。