Redis 的处理模型AE 模块

↘锁芯ラ 提交于 2021-01-03 15:17:11

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

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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!