更新時間:2023-10-30 來源:黑馬程序員 瀏覽量:
單線程的 Redis 雖然性能很高,但是卻有兩個問題。一個問題是沒有辦法充分發(fā)揮現(xiàn)代 CPU 的多核處理能力,一個實例只能使用一個核的能力。二是如果某個用戶請求的處理過程卡住一段時間,會導致其它所有的請求都會出現(xiàn)超時的情況。所以,在線上的 redis 使用過程時是明確禁止使用 keys 等長耗時的操作的。關(guān)于Redis高并發(fā)總結(jié)如下:
· Redis 是純內(nèi)存數(shù)據(jù)庫,一般都是簡單的存取操作,線程占用的時間很多,時間的花費主要集中在 IO 上,所以讀取速度快。
· 再說一下 IO,Redis 使用的是非阻塞 IO,IO 多路復用,使用了單線程來輪詢描述符,將數(shù)據(jù)庫的開、關(guān)、讀、寫都轉(zhuǎn)換成了事件,減少了線程切換時上下文的切換和競爭。
· Redis 采用了單線程的模型,保證了每個操作的原子性,也減少了線程的上下文切換和競爭。
· 另外,數(shù)據(jù)結(jié)構(gòu)也幫了不少忙,Redis 全程使用 hash 結(jié)構(gòu),讀取速度快,還有一些特殊的數(shù)據(jù)結(jié)構(gòu),對數(shù)據(jù)存儲進行了優(yōu)化,如壓縮表,對短數(shù)據(jù)進行壓縮存儲,再如,跳表,使用有序的數(shù)據(jù)結(jié)構(gòu)加快讀取的速度。
· 還有一點,Redis 采用自己實現(xiàn)的事件分離器,效率比較高,內(nèi)部采用非阻塞的執(zhí)行方式,吞吐能力比較大。
【AI設計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個工作日,就業(yè)率已達到94.55%,班均薪資20763元
2025-09-19【AI智能應用開發(fā)-Java】畢業(yè)5個工作日就業(yè)率98.18%,最高薪資 17.5k*13薪,全班平均薪資9244元
2025-09-19