Redis為什么可以做到10萬的QPS?


1.純內存KV

  因為他的數據類型都在內存里面,高效的數據結構,Redis 支持的幾種高效的數據結構 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合),

以上幾種對外暴露的數據結構它們的底層編碼方式都是做了不同的優化的。

2.單線程

  避免了不必要的上下文切換和競爭條件,也不存在多進程或者多線程導致的切換而消耗 CPU;

  

當然redis出現了6.0 這個也需要更大的電腦內核

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

   

 多路:多個TCP連接(Socket或Channel) 多個客戶端的連接

 復用:復用一個或多個線程  復用是服務端的一個或多個線程

 服務端幫你監視連接

 多路復用要操作系統支持

 有一個多路復用叫做select

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM