Redis为什么可以做到10万的QPS?

1.纯内存KV

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

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

2.单线程

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

  

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

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

   

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

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

 服务端帮你监视连接

 多路复用要操作系统支持

 有一个多路复用叫做select

  

posted @ 2021-04-20 22:23  南北12345678  阅读(850)  评论(0编辑  收藏  举报