而 processTimeEvents 是处理时间事件的函数 , 它会遍历 aeEventLoop 的事件事件列表 , 如果时间事件到达就执行其 timeProc 函数 , 并根据函数的返回值是否等于 AE_NOMORE来决定该时间事件是否是周期性事件 , 并修改器到达时间 。
删除事件
当不在需要某个事件时 , 需要把事件删除掉 。例如: 如果fd同时监听读事件、写事件 。当不在需要监听写事件时 , 可以把该fd的写事件删除 。
【Redis 事件机制详解】aeDeleteEventLoop 函数的执行过程总结为以下几个步骤 1、根据 fd 在未就绪表中查找到事件 2、取消该 fd 对应的相应事件标识符 3、调用 aeApiFree 函数 , 内核会将epoll监听红黑树上的相应事件监听取消 。
推荐阅读
- Redis的链表结构
- 里弗斯谈美国会骚乱:假如是黑人呢 乔治·弗洛伊德事件是怎么回事
- 面试被问:Redis 内存满了怎么办?
- 美国警察暴力致黑人死亡事件始末 美国非裔男子弗洛伊德事件
- Redis为什么会这么快,看完这七点你就知道了
- Redis Sentinel基本实现原理
- 彻底搞懂Redis的线程模型
- Redis不只是缓存,还有n多种你没发现的妙用
- 如何设计秒杀系统?
- 小米Redis的K8s容器化部署实践