Redis 线程模型到底是不是单线程

120次阅读
没有评论

说 Redis 是单线程,只说对了一半。更准确的说法是:Redis 的核心命令执行长期以单线程为主,但整个 Redis 进程并不只有一个线程。

为什么大家总说它是单线程

因为 Redis 早期最核心的网络事件处理和命令执行主要由一个主线程完成。这让实现更简单,避免了大量锁竞争。

单线程为什么还能快

原因不在“线程少”,而在于内存操作快、数据结构高效、命令短小,以及 IO 多路复用减少了线程切换开销。

后来发生了什么变化

从 Redis 4 以后,异步删除等后台任务已经由额外线程处理;Redis 6 之后,网络读写也可以引入多线程辅助,但命令执行核心仍强调串行处理。

结论

面试里如果只回答“Redis 是单线程的”,容易显得过时。更稳妥的回答是区分核心执行线程和整个进程的线程模型。

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-03-25发表,共计321字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)