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協議,實現容易,解析速度快,並且可讀性很高。隊列