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