为什么Redis 是单线程的以及为什么这么快?

  • redis完全基于内存,绝大部分请求是纯粹的内存操作,非常快速.
  • 数据结构简单,对数据操作也简单,redis中的数据结构是专门进行设计的
  • 采用单线程模型, 避免了不必要的上下文切换和竞争条件, 也不存在多线程或者多线程切换而消耗CPU, 不用考虑各种锁的问题, 不存在加锁, 释放锁的操作, 没有因为可能出现死锁而导致性能消耗
  • 使用了多路IO复用模型,非阻塞IO
  • 使用底层模型不同,它们之间底层实现方式及与客户端之间的 通信的应用协议不一样,Redis直接构建了自己的VM机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求
posted @ 2024-04-07 19:01  阿飞藏泪  阅读(3)  评论(0编辑  收藏  举报
1 2 3
4