Redis key過期的方式有三種:被動刪除:當讀/寫一個已經(jīng)過期的key時,會觸發(fā)惰性刪除策略,直接刪除掉這個過期key。主動刪除:由于惰性刪除策略無法保證冷數(shù)據(jù)被及時刪掉,所以Redis會定期主動淘汰一批已過期的key。當前已用內(nèi)存超過maxmemory限定時,觸發(fā)主動清理策略。被動刪除有點不清楚,打個比方:一個set會記錄哪些用戶參與了活動,設置這個key的過期時間是一個小時,假設現(xiàn)在這個set有10個元素;那么當臨界點時,有用戶參與了,要sadd數(shù)據(jù)了,redis是會先去檢查當前key的有效期,檢查出來是0,會刪除這個key,然后再sadd,再設置過期時間一個小時,此時這個set有1個元素是這樣理解的嗎?
添加回答
舉報
0/150
提交
取消