Redis到底是多線程還是單線程?
執行腳本的時候為了保證原子性,redis是順序線性執行,所以是單線程的。redis為了提高處理效率,在這之前加了事件分發,在這里是io層是多線程的,利用多線程的多路復用原則進行任務腳本處理,redis由于讀寫操作等待用戶輸入或輸出都是阻塞的,所以 I/O 操作在一般情況下往往不能直接返回,這會導致某一文件的 I/O 阻塞導致整個進程無法對其它客戶提供服務,而 I/O 多路復用就是為了解決這個問題。
上一篇公司五年服務獎感言
下一篇C語言中什么叫死循環
Redis到底是多線程還是單線程?
執行腳本的時候為了保證原子性,redis是順序線性執行,所以是單線程的。redis為了提高處理效率,在這之前加了事件分發,在這里是io層是多線程的,利用多線程的多路復用原則進行任務腳本處理,redis由于讀寫操作等待用戶輸入或輸出都是阻塞的,所以 I/O 操作在一般情況下往往不能直接返回,這會導致某一文件的 I/O 阻塞導致整個進程無法對其它客戶提供服務,而 I/O 多路復用就是為了解決這個問題。