在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自身的过期策略来执行。