Redis Reactor事件驱动模型源码

 前置学习:Redis server启动源码-CSDN博客

 1、Redis服务器启动的时候就会就一直在轮询。


// 运行事件处理器,一直到服务器关闭为止
aeSetBeforeSleepProc(server.el,beforeSleep);
aeMain(server.el);

// 服务器关闭,停止事件循环
aeDeleteEventLoop(server.el);


/*
 * 事件处理器的主循环
 */
void aeMain(aeEventLoop *eventLoop) {

    eventLoop->stop = 0;

    while (!eventLoop->stop) {

        // 如果有需要在事件处理前执行的函数,那么运行它
        if (eventLoop->beforesleep != NULL)
            eventLoop->beforesleep(eventLoop);

        // 开始处理事件
        aeProcessEvents(eventLoop, AE_ALL_EVENTS);
    }
}

2、Redis使用的是Reator单线程模型,连接事件、写事件、读事件

相关推荐

  1. Redis Reactor事件驱动模型

    2023-12-07 09:40:02       67 阅读
  2. 架构模式——事件驱动架构模式

    2023-12-07 09:40:02       26 阅读
  3. 【springboot 事件发布机制浅析】

    2023-12-07 09:40:02       54 阅读
  4. Node.js的事件驱动模型(非阻塞I/O)

    2023-12-07 09:40:02       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-07 09:40:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-07 09:40:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-07 09:40:02       82 阅读
  4. Python语言-面向对象

    2023-12-07 09:40:02       91 阅读

热门阅读

  1. Nginx之Openresty缓存解读

    2023-12-07 09:40:02       60 阅读
  2. Redis中持久化策略RDB与AOF优缺点对比

    2023-12-07 09:40:02       61 阅读
  3. 华纳云:有效解决服务器宕机的办法

    2023-12-07 09:40:02       62 阅读
  4. OpenGL中使用链表实现透明度排序

    2023-12-07 09:40:02       58 阅读
  5. MySql数据库优化的八种方式

    2023-12-07 09:40:02       61 阅读
  6. 数据结构——堆(存储完全二叉树)

    2023-12-07 09:40:02       60 阅读
  7. Jtti:网站服务器如何预防CC攻击?

    2023-12-07 09:40:02       60 阅读
  8. [C++] new和delete

    2023-12-07 09:40:02       59 阅读
  9. SpringBoot实现PDF添加水印

    2023-12-07 09:40:02       48 阅读
  10. vue2框架简易版响应式设计(观察者模式)

    2023-12-07 09:40:02       58 阅读
  11. libevent库中的http相关函数举例

    2023-12-07 09:40:02       52 阅读
  12. 如何设置不同的网页标题(react)

    2023-12-07 09:40:02       54 阅读