話說Redis爲什麼這麼快?!

1、有多快

單線程Redis可以支持10w+qp

2、爲什麼

1、完全基於內存,絕大部分請求是純粹的內存操作,所以非常快速。
2、採用單線程,避免了不必要的上下文切換和競爭條件,也不存在多進程或者多線程導致的切換而消耗 CPU。
3、使用多路I/O複用模型,非阻塞IO
4、使用底層模型不同,它們之間底層實現方式以及與客戶端之間通信的應用協議不一樣,Redis直接自己構建了VM 機制 ,因爲一般的系統調用系統函數的話,會浪費一定的時間去移動和請求;

3、單線程

我們首先要明白,上邊的種種分析,都是爲了營造一個Redis很快的氛圍!官方FAQ表示,因爲Redis是基於內存的操作,CPU不是Redis的瓶頸,Redis的瓶頸最有可能是機器內存的大小或者網絡帶寬。既然單線程容易實現,而且CPU不會成爲瓶頸,那就順理成章地採用單線程的方案了(畢竟採用多線程會有很多麻煩!)。

4、如何更快

Redis集羣部署多主多從,實現高併發高可用。

參考:

https://blog.csdn.net/chenyao1994/article/details/79491337

https://www.jianshu.com/p/6a04fd821165

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章