单线程Reids为何这么快

redis 是单线程的

Redis 是单线程模型,因为redis完全是基于内存的操作,CPU不是redis的瓶颈,redis的瓶颈最有可能是机器内存代小或者网络带宽。既然单线程容易实现,而且CPU不会称为瓶颈,那就顺理成章的采用单线程的方案了。

为什么redis快

  • redis是完全基于内存的,绝大部分请求都是纯粹的内存操作,非常迅速,数据在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
  • 数据结构简单,对数据操作也简单
  • 采用单线程,避免了不必要的上下文切换和竞争条件,不存在多线程导致的CPU切换,不用去考虑各种锁的问题,不存在加锁释放锁的操作,没有死锁为题导致的性能消耗。
  • 使用多路复用IO模型,非阻塞IO。
原文地址:https://www.cnblogs.com/liuzhidao/p/14082730.html