1 回答

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
隊(duì)列跟線程沒(méi)有一點(diǎn)關(guān)系,而且redis是單線程的,所以redis不會(huì)對(duì)每個(gè)隊(duì)列開(kāi)啟一個(gè)線程。
Redis為什么是單線程的?
因?yàn)镃PU不是Redis的瓶頸。Redis的瓶頸最有可能是機(jī)器內(nèi)存或者網(wǎng)絡(luò)帶寬。既然單線程容易實(shí)現(xiàn),而且CPU不會(huì)成為瓶頸,那就順理成章地采用單線程的方案了。
如果萬(wàn)一CPU成為你的Redis瓶頸了,或者,你就是不想讓服務(wù)器其他核閑置,那怎么辦?
那也很簡(jiǎn)單,你多起幾個(gè)Redis進(jìn)程就好了。Redis是keyvalue數(shù)據(jù)庫(kù),又不是關(guān)系數(shù)據(jù)庫(kù),數(shù)據(jù)之間沒(méi)有約束。只要客戶(hù)端分清哪些key放在哪個(gè)Redis進(jìn)程上就可以了。redis-cluster可以幫你做的更好。
單線程可以處理高并發(fā)請(qǐng)求嗎?
當(dāng)然可以了,Redis都實(shí)現(xiàn)了。
(所以不需考慮并發(fā)安全性),其他模塊仍用了多個(gè)線程。
- 1 回答
- 0 關(guān)注
- 853 瀏覽
添加回答
舉報(bào)