新聞中心
redis中的單線程是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
官方FAQ表示,因?yàn)镽edis是基于內(nèi)存的操作,CPU不是Redis的瓶頸,Redis的瓶頸最有可能是機(jī)器內(nèi)存的大小或者網(wǎng)絡(luò)帶寬。既然單線程容易實(shí)現(xiàn),而且CPU不會成為瓶頸,那就順理成章地采用單線程的方案了
看到這里,你可能會氣哭!本以為會有什么重大的技術(shù)要點(diǎn)才使得Redis使用單線程就可以這么快,沒想到就是一句官方看似糊弄我們的回答!但是,我們已經(jīng)可以很清楚的解釋了為什么Redis這么快,并且正是由于在單線程模式的情況下已經(jīng)很快了,就沒有必要在使用多線程了!
但是,我們使用單線程的方式是無法發(fā)揮多核CPU 性能,不過我們可以通過在單機(jī)開多個Redis 實(shí)例來完善!
警告1:這里我們一直在強(qiáng)調(diào)的單線程,只是在處理我們的網(wǎng)絡(luò)請求的時候只有一個線程來處理,一個正式的Redis Server運(yùn)行的時候肯定是不止一個線程的,這里需要大家明確的注意一下!例如Redis進(jìn)行持久化的時候會以子進(jìn)程或者子線程的方式執(zhí)行(具體是子線程還是子進(jìn)程待讀者深入研究);例如我在測試服武器上查看Redis進(jìn)程,然后找到該進(jìn)程下的線程:
ps命令的“-T”參數(shù)表示顯示線程(Show threads, possibly with SPID column.)“SID”欄表示線程ID,而“CMD”欄則顯示了線程名稱。
警告2:在上圖中FAQ中的最后一段,表述了從Redis 4.0版本開始會支持多線程的方式,但是,只是在某一些操作上進(jìn)行多線程的操作!所以該篇文章在以后的版本中是否還是單線程的方式需要讀者考證!
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)建站的支持。
當(dāng)前題目:redis中的單線程是什么-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://fisionsoft.com.cn/article/jicdh.html