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