天天看點

redis是單線程,為什麼速度還這麼快?

1、單線程,沒有線程的建立、銷毀及線程間切換需要的時間消耗,避免了不必要的上下文切換和競争條件,也不存在多程序或者多線程導緻的切換而消耗 CPU,不用去考慮各種鎖的問題,不存在加鎖釋放鎖操作,沒有因為可能出現死鎖而導緻的性能消耗。

2、redis是存儲在記憶體中的,沒有磁盤io,記憶體的存取速度是比較快的。

3、redis靈活的資料結構。内部使用一個redisObject對象來表示所有的key和value。redisObject主要的資訊包括資料類型、編碼方式、資料指針、虛拟記憶體等。它包含String,Hash,List,Set,Sorted Set五種資料類型,針對不同的場景使用對應的資料類型,減少記憶體使用的同時,節省網絡流量傳輸

個人的了解,可能了解的不全面,有錯誤的地方,歡迎補充,請各位看官批評指正,謝謝。

繼續閱讀