Redis的刪除策略有以下幾種:
主動刪除策略(Active Expire):當設置了過期時間的鍵被訪問時,檢測到是否已過期,如果已過期則立即刪除。
惰性刪除策略(Lazy Expire):當訪問一個鍵時,先檢查是否過期,如果過期則刪除。這種策略可以減少每次訪問鍵時的額外開銷。
定期刪除策略(定期刪除策略):每隔一段時間,Redis會隨機抽取一部分設置了過期時間的鍵進行檢查,如果過期則刪除。這種策略可以用于在實例內存較大時,減少一次性刪除大量過期鍵的開銷。
惰性刪除+定期刪除策略(Lazy + periodic expire):結合了惰性刪除和定期刪除策略的優點,定期刪除可以保證過期鍵的刪除,而惰性刪除可以減少每次訪問鍵時的額外開銷。
需要注意的是,Redis并不保證精確的刪除時間,而是在滿足某個條件時才進行刪除。因此,過期鍵可能在過期后一段時間內仍然存在。