redis 采用網絡IO多路復用技術來保證在多連接的時候,系統的高吞吐量。
多路-指的是多個socket連接,復用-指的是復用一個線程。多路復用主要有三種技術:select,poll,epoll。epoll是最新的也是目前最好的多路復用技術。
這里“多路”指的是多個網絡連接,“復用”指的是復用同一個線程。采用多路I/O
復用技術可以讓單個線程高效的處理多個連接請求(盡量減少網絡IO的時間消耗),且Redis在內存中操作數據的速度非常快(內存內的操作不會成為這里的性能瓶頸),主要以上兩點造就了Redis具有很高的吞吐量。
因為Redis是基于內存的操作,CPU不是Redis的瓶頸,Redis的瓶頸最有可能是機器內存的大小或者網絡帶寬。既然單線程容易實現,而且CPU不會成為瓶頸,所以采用單線程的方案。
部分文章來源與網絡,若有侵權請聯系站長刪除!