首頁 >資料庫 >Redis >redis單線程是什麼意思

redis單線程是什麼意思

(*-*)浩
(*-*)浩原創
2019-11-02 13:59:352721瀏覽

redis單線程是什麼意思

官方FAQ表示,因為Redis是基於記憶體的操作,CPU不是Redis的瓶頸,Redis的瓶頸最有可能是機器記憶體的大小或網路頻寬。既然單線程容易實現,而且CPU不會成為瓶頸,那就順理成章地採用單線程的方案了   (推薦學習:Redis視頻教程

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

但是,我們使用單執行緒的方式是無法發揮多核心CPU 效能,不過我們可以透過在單機開啟多個Redis 實例來完善!

警告1:這裡我們一直在強調的單線程,只是在處理我們的網路請求的時候只有一個線程來處理,一個正式的Redis Server運行的時候肯定是不止一個線程的,這裡需要大家明確的注意一下!例如Redis進行持久化的時候會以子程序或子執行緒的方式執行(具體是子執行緒還是子程序待讀者深入研究);例如我在測試服武器上查看Redis程序,然後找到該行程下的執行緒:

redis單線程是什麼意思

ps指令的「-T」參數表示顯示執行緒(Show threads, possibly with SPID column.)「SID」欄表示執行緒ID,而「CMD」欄則顯示了線程名稱。

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

以上是redis單線程是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn