面試之二:Redis是單線程還是多線程?以及處理模型。


 
Redis是單線程還是多線程?以及處理模型。
  • 線程:單線程
  • 處理模型:參考書《Redis 設計與實現》P151-152
  • 上述圖片解釋說明:
    • 1、文件事件:
      • 是對套接字操作的抽象,每當一個套接字准備好執行操作(連接應答,寫入,讀取)時,就會產生一個文件事件。
    • 2、文件處理器(單線程)的4個部分:(模型見上圖)
      • 套接字:
        • 代表一個一個的客戶端連接;
      • IO多路復用程序:
        • 同時監聽多個套接字,並向文件事件分派器傳送那些產生了事件的套接字;
      • 文件事件分派器:
      • 事件處理器:
    • 3、多個文件事件並發出現時,如何處理?(隊列)
      • IO多路復用程序會將所有產生事件的套接字都放到一個隊列里,然后通過該隊列,以有序,同步,每次一個套接字的方式傳送給文件事件分派器;
      • 當上一個套接字產生的事件被處理完畢,IO多路復用程序才會繼續傳送下一個套接字
 


免責聲明!

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



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