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


