當前位置:編程學習大全網 - 源碼下載 - 為什麽redis是單線程

為什麽redis是單線程

那麽為什麽Redis是單線程的

我們首先要明白,Redis很快!官方FAQ表示,因為Redis是基於內存的操作,CPU不是Redis的瓶頸,Redis的瓶頸最有可能是機器內存的大小或者網絡帶寬。既然單線程容易實現,而且CPU不會成為瓶頸,那就順理成章地采用單線程的方案了(畢竟采用多線程會有很多麻煩!)。(推薦學習:Redis視頻教程)

看到這裏,妳可能會氣哭!本以為會有什麽重大的技術要點才使得Redis使用單線程就可以這麽快,沒想到就是壹句官方看似糊弄我們的回答!但是,我們已經可以很清楚的解釋了為什麽Redis這麽快,並且正是由於在單線程模式的情況下已經很快了,就沒有必要在使用多線程了!

但是,我們使用單線程的方式是無法發揮多核CPU 性能,不過我們可以通過在單機開多個Redis 實例來完善!

警告1:這裏我們壹直在強調的單線程,只是在處理我們的網絡請求的時候只有壹個線程來處理,壹個正式的Redis Server運行的時候肯定是不止壹個線程的,這裏需要大家明確的註意壹下!例如Redis進行持久化的時候會以子進程或者子線程的方式執行(具體是子線程還是子進程待讀者深入研究);

ps命令的“-T”參數表示顯示線程(Show threads, possibly with SPID column.)“SID”欄表示線程ID,而“CMD”欄則顯示了線程名稱。

警告2:官方FAQ中的最後壹段,表述了從Redis 4.0版本開始會支持多線程的方式,但是,只是在某壹些操作上進行多線程的操作!所以該篇文章在以後的版本中是否還是單線程的方式需要讀者考證!

更多Redis相關技術文章,請訪問Redis數據庫使用入門教程欄目進行學習!

  • 上一篇:漲停回馬槍是什麽意思
  • 下一篇:Django如何使用多數據庫方法介紹
  • copyright 2024編程學習大全網