redis單線程為什么速度那么快?


 

1.redis是存儲在內存上的,讀寫的話不會受到硬盤 I/O 速度的限制

如圖:

(1).硬盤數據庫的工作模式:

 

(2).內存數據庫的工作模式

 

2.數據結構簡單,對數據操作也簡單

3.多路IO復用模型,非阻塞IO     解釋:多路:多網絡連接   復用:復用同一個線程

4. 采用單線程,避免了不必要的上下文切換和競爭條件,也不存在多進程或者多線程導致的切換而消耗 CPU,不用去考慮各種鎖的問題,不存在加鎖釋放鎖操作,沒有因為可能出現死鎖而導致的性能消耗;

5.使用底層模型不同,它們之間底層實現方式以及與客戶端之間通信的應用協議不一樣,Redis直接自己構建了VM 機制 ,因為一般的系統調用系統函數的話,會浪費一定的時間去移動和請求;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM