Advertisement

Redis 的 单 线程 模型 与 标准 Reactor 线程 模型 的 探讨 与 比较

阅读量:

文章结构概述

  • Redis究竟是否属于单线程架构?
    • 标准Reactor线程模型

      • 单reactor单线程
      • 单reactor多线程
      • 多reactor多线程
    • Redis6.0 之前的单线程架构

    • Redis6.0 之后的单线程架构

      • 初期为何Redis选用单线程网络模型?
      • Redis6.0 在IO读写操作中为何引入多线程?
    • Redis 6.0与Memcached在多线程模型上的比较

    • 总结

    • 三种标准Reactor模型的实际应用方式

      • Redis6.0 中Reactor的使用情况
      • Dubbo中Reactor的使用情况

Redis到底是不是单线程?

关于Redis是否为单线程的问题,存在一定的误解。严格来说,在Redis 4.0版本之前,其确实采用的是单线程架构。为了解决耗时操作可能阻塞主线程、影响后续事件处理的问题,Redis 4.0引入了多线程机制,用于执行部分非阻塞命令,如UNLINK、FLUSHALL ASYNC以及FLUSHDB ASYNC等。此外,AOF备份与集群通信等功能模块也由独立线程负责。然而,整体的网络模型仍然维持单线程模式,因此仍被归类为单线程系统。到了Redis 6.0版本,为了突破网络IO性能的限制,在网络模型层

全部评论 (0)

还没有任何评论哟~