Redis 的处理模型AE 模块

事件类型
– 时间类型(serverCron)
– 文件类型(客户端请求,复制等)
– 两个类型不会并发,串行执行
• 好处:
– 不需要考虑各个操作并发的情况
• 坏处:
– 效率会有影响(时间事件如serverCron可能会被
阻塞一段较长的时间)
事件的实现
• 将文件事件和时间事件注册到eventLoop中,
eventloop在系统main方法中开始循环
• 从epoll/kqueue/select中选择一种多路复用方

• 先处理文件事件再处理时间事件
(aeProcessEvent)
– 遍历时间事件链表中找到即将触发的时间
– 以这个时间和当前时间差为超时时间去pull文件事
件,置入一个数组中,并根据读写不同的属性调用
对应的回调函数

–遍历时间事件链表,处理到期的时间事件

你可能感兴趣的:(redis)