在Redis中,可以通過設置緩存失效時間或使用Redis的過期策略來配置緩存失效策略。
設置緩存失效時間:
使用Redis的EXPIRE
命令可以設置鍵的過期時間。例如,使用以下命令設置鍵mykey
的過期時間為60秒:
EXPIRE mykey 60
當鍵過期時,Redis會自動刪除該鍵。
使用Redis的過期策略: Redis采用了惰性刪除和定期刪除兩種過期策略。
hz
配置項來調整定期刪除的頻率。默認情況下,hz
的值為10,即每秒鐘執行10次刪除操作。在Redis的配置文件redis.conf
中,可以通過調整以下配置項來配置過期策略:
maxmemory-policy
:設置Redis的內存策略,可以選擇的值有noeviction
、allkeys-lru
、volatile-lru
、allkeys-random
、volatile-random
、volatile-ttl
。其中,volatile
表示只對設置了過期時間的鍵進行刪除操作。maxmemory-samples
:設置每次定期刪除操作時檢查的最大鍵數。maxmemory-eviction
:設置過期策略在執行定期刪除操作時的最大刪除數量。例如,可以通過以下配置將過期策略設置為volatile-lru
,每次定期刪除操作檢查的鍵數為100,最多刪除100個過期鍵:
maxmemory-policy volatile-lru
maxmemory-samples 100
maxmemory-eviction 100
需要注意的是,Redis的過期策略是基于惰性刪除和定期刪除的結合使用,因此設置緩存失效時間僅僅是一種輔助手段,實際的刪除操作由Redis自身的過期策略來執行。