Redis是多线程还是单线程?‘手撕’面试官看完
发布时间
阅读量:
阅读量
近日,网络上出现了一道颇具争议的面试题目:
Redis究竟是采用多线程架构还是单线程架构?(若回答为单线程,请暂时离开,原因将在下文揭晓)
不少关注者向我提问:为何要请离开?难道Redis不是单线程的吗?
请特别留意题目内容:Redis是多线程还是单线程?
对于这一问题,需要从多个角度进行分析。如果仅以“单线程”作为答案,显然难以令人信服,原因何在呢?
因此,今日我利用工作时间,紧急整理了相关内容,希望对各位有所帮助。
1、Redis 单线程到底指什么?
确实,广为人知的 Redis 采用的是单线程架构,具体而言,其执行命令的核心组件为单线程设计,并非整个 Redis 实例仅运行一个线程。除此之外,Redis 的其他功能模块仍各自拥有独立的线程进行处理。
以下这一说明较为清晰:

Redis采用Reactor模式构建了网络事件处理机制,该机制被称作文件事件处理器。其整体架构由四个核心组件构成:多个套接字、IO多路复用模块、文件事件调度器以及相应的事件处理模块。由于文件事件调度器在处理队列任务时仅依赖单一工作线程,因此Redis被归类
全部评论 (0)
还没有任何评论哟~
