redis系列~通用基礎知識

Redis爲什麼這麼快

  1. 完全基於內存操作
  2. 使⽤單線程,避免了線程切換和競態產生的消耗
  3. 基於⾮阻塞的IO多路復⽤機制
  4. C語⾔實現,優化過的數據結構,基於⼏種基礎的數據結構,redis做了⼤量的優化,性能極⾼

IO多路複用機制講解

,I/O多路複用是指利用單個線程來同時監聽多個Socket,並在某個Socket可讀、可寫時得到通知,從而避免無效的等待,充分利用CPU資源。目前的I/O多路複用都是採用的epoll模式實現,它會在通知用戶進程Socket就緒的同時,把已就緒的Socket寫入用戶空間,不需要挨個遍歷Socket來判斷是否就緒,提升了性能。

其中Redis的網絡模型就是使用I/O多路複用結合事件的處理器來應對多個Socket請求,比如,提供了連接應答處理器、命令回覆處理器,命令請求處理器;

在Redis6.0之後,爲了提升更好的性能,在命令回覆處理器使用了多線程來處理回覆事件,在命令請求處理器中,將命令的轉換使用了多線程,增加命令轉換速度,在命令執行的時候,依然是單線程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章