redis 那些事兒

1 個人數據存入redis了可是怎麼不見了?redis

 redis的內存使用是有限的,一直向redis中寫入數據(若是配置了allkeyLRU)就會觸發內存淘汰機制,將最近沒有訪問過的的key,value刪除掉。算法

2 數據設置了過時時間,到時間之後內存仍然看不到明顯被釋放呢?多線程

 redis若是key設置了過時時間,清除算法是 「隨機淘汰機制」+「被動刪除機制」;當redis有一批key到達了過時時間,則會隨機抽樣刪除一部分key,可是不少key會在你訪問的時候去校驗,若是過時則直接刪除給你返回空值。這樣作大大提高了redis的性能,不然加入幾十萬個key同時國企,redis又要徹底主動刪除則會很是消耗cpu!!!併發

3 redis爲何性能這麼好異步

1)基於內存的數據存儲;oop

2)單線程內存模型,相比多線程會省去不少併發處理的內部邏輯,從而提升了效率‘性能

3)多路複用機制,數據插入時由帶有Looper監控的異步隊列處理機制控制,併發性極好線程

4)採用RESP協議,實現容易,解析速度快,並且可讀性很高。隊列

相關文章
相關標籤/搜索