memcached快取為什麼可以支援高並發讀寫?
1、多路復用I/O模型
傳統I/O中,系統可能會因為某個用戶的I/O連接沒有做好準備而一直等待,直到這個連接做好準備,這個當有其他用戶連接伺服器時,由於系統的阻塞而無法回應。
多重化I/O模型是一種訊息通知模式,使用者做好I/O連線準備後,系統會通知我們這個連線已經做好I/O準備,這樣就不會阻塞某位使用者的連接,正因為如此memcached才支援
高並發讀寫
2、多執行緒模型
多執行緒模型又分為:
主執行緒:主要接受客戶端連接,並將該連接到子組中連接到子組中碼執行緒,有客戶端連線需要處理
子執行緒:子執行緒接受到通知後,從CQ佇列中取出該連接,並註冊到libevent進行監聽客戶端的讀寫操作
源碼後再上傳吧!以後有時間再上傳吧!
以上就介紹了memcached快取的執行過程,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。