单线程为何还能这么快?

  1. 纯内存访问,Redis将所有数据放在内存中,内存的访问时长大约为100纳秒,这是Redis达到每秒万级别访问的重要基础。
  2. 非阻塞IO,Redis使用epoll作为IO多路复用技术的实现,再加上Redis自身的事件处理模型将epoll中的连接/读写/关闭都转换为事件。不在网络IO上浪费过多时间。
  3. 单线程避免了线程切换和竞态产生的消耗