Redis 为什么单线程还这么快?

Redis 面试题发布于

一、核心原因

  1. 纯内存操作:数据在内存中,访问速度极快。
  2. I/O 多路复用:用 epoll 处理大量并发连接,单线程也能处理高并发。
  3. 避免上下文切换:单线程没有线程切换开销,也没有锁竞争。

二、Redis 6.0 多线程

Redis 6.0 引入多线程,但只用于网络 I/O 的读写,命令执行仍是单线程。原因是瓶颈在网络 I/O 而非 CPU。

三、适用场景

  • 适合高并发、数据量适中、延迟敏感的场景。
  • 不适合大 key 操作(如 hgetall 百万级 hash),会阻塞主线程。