一、純內存訪問,Redis將全部數據放在內存中,內存的響應時間大約爲100納秒,這時Redis達到每秒萬級別訪問的重要基礎;網絡
二、非阻塞I/O,Redis使用epoll做爲I/O多路複用技術的實現,在加上Redis自身的事件處理模型將epoll中的連接、讀寫、關閉都轉換爲事件,不在網絡I/O上浪費過多的時間;數據結構
三、單線程避免了線程切換和鎖產生的消耗。優化
四、另外,數據結構也幫了很多忙,Redis全程使用hash結構,讀取速度快,還有一些特殊的數據結構,對數據存儲進行了優化,如壓縮表,對短數據進行壓縮存儲,再如,跳錶,使用有序的數據結構加快讀取的速度。線程