2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

Redis單進程單線程有哪些弊端?

更新時間:2023-10-30 來源:黑馬程序員 瀏覽量:

單線程的 Redis 雖然性能很高,但是卻有兩個問題。一個問題是沒有辦法充分發揮現代 CPU 的多核處理能力,一個實例只能使用一個核的能力。二是如果某個用戶請求的處理過程卡住一段時間,會導致其它所有的請求都會出現超時的情況。所以,在線上的 redis 使用過程時是明確禁止使用 keys  等長耗時的操作的。關于Redis高并發總結如下:

· Redis 是純內存數據庫,一般都是簡單的存取操作,線程占用的時間很多,時間的花費主要集中在 IO 上,所以讀取速度快。

· 再說一下 IO,Redis 使用的是非阻塞 IO,IO 多路復用,使用了單線程來輪詢描述符,將數據庫的開、關、讀、寫都轉換成了事件,減少了線程切換時上下文的切換和競爭。

· Redis 采用了單線程的模型,保證了每個操作的原子性,也減少了線程的上下文切換和競爭。

· 另外,數據結構也幫了不少忙,Redis 全程使用 hash 結構,讀取速度快,還有一些特殊的數據結構,對數據存儲進行了優化,如壓縮表,對短數據進行壓縮存儲,再如,跳表,使用有序的數據結構加快讀取的速度。

· 還有一點,Redis 采用自己實現的事件分離器,效率比較高,內部采用非阻塞的執行方式,吞吐能力比較大。

分享到:
在線咨詢 我要報名
和我們在線交談!