ae模块是redis实现的Reactor模型的封装。它的主要代码实现集中在 ae.c 中,惠州保洁13825404095另外还提供了平台相关的io多路复用的封装,它们都实现了一套相同的poll接口,就类似于C++中提供了一个接口基类,由针对不同平台的派生类去实现。aeEventLoop中的events是用于保存fd注册事件的数组,它是以fd值作为索引来存取事件的。实际使用的io模型会根据编译时定义的宏在 ae.c 的代码头部直接引入。接下来再看一下ae相关接口,先看下fd相关实现。