redis为什么是单线程的

看到一篇总结的很好的一篇博文,于是做个小结

  redis大多数时候是单线程运行的(同一个时间只占用一个CPU,只有一个指令在运行,即不可能并行读写),但是redis性能还是很好,原因如下:

  1. redis使用了 多路I/O复用机制(详看我的另一篇博客多路复用机制),处理客户端请求时,不会阻塞主线程。redis单纯执行一个指令不到1微秒,因此,一个单核CPU一秒能处理1百万个指令,用不着实现多线程。
  2. redis基于内存操作,CPU不是其瓶颈,因此可以不采用多线程。
  3. 单线程情况下无需考虑线程锁等问题,不存在加锁解锁的操作,无需增加性能损耗。
  4. 单线程避免了多进程多线程导致切换而消耗CPU。

以上参考:https://mp.weixin.qq.com/s/mFR3oXzzo7DyPEzjwcO9oA、https://blog.csdn.net/chinawangfei/article/details/90082576

原文地址:https://www.cnblogs.com/smallzhen/p/14553026.html