Redis 单线程快的原因

发布时间 2023-09-05 14:50:48作者: Wanhaowoshichong

Redis 单线程快的原因

为什么Redis单线程却能高并发

  1. 纯内存操作
  2. 核心是基于非阻塞的IO
  3. 多路复用机制 单线程反而避免了多线程的频繁上下文切换问题

Redis 的高并发快的原因

  1. Redis 是基于内存的,内存的读写速度非常快;数据存在内存中,数据结构用HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)。
  2. Redis 是单线程的,省去了很多上下文切换的时间(避免线程切换和静态消耗)。
  3. Redis使用IO多路复用技术(IO multiplexing, 解决对多个I/O监听时,一个I/O阻塞影响其他I/O的问题),可以处理并发的连接(非阻塞IO)。

Redis 是单线程的原因

因为 Redis 是基于内存的操作,CPU 不是 Redis 的瓶颈,Redis 的瓶颈最有可能是机器内存的大小或者网络带宽。