1.纯内存KV

  因为他的数据类型都在内存里面,高效的数据结构,Redis 支持的几种高效的数据结构 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合),

以上几种对外暴露的数据结构它们的底层编码方式都是做了不同的优化的。

2.单线程

  避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU;

  Redis为什么可以做到10万的QPS?_数据结构

当然redis出现了6.0 这个也需要更大的电脑内核

3.同步非阻塞I/O—多路复用

   Redis为什么可以做到10万的QPS?_多路复用_02

 多路:多个TCP连接(Socket或Channel) 多个客户端的连接

 复用:复用一个或多个线程  复用是服务端的一个或多个线程

 服务端帮你监视连接

 多路复用要操作系统支持

 有一个多路复用叫做select