Redis的过期键的删除策略

redis是key-value的内存数据库,可以设置redis中key的过期时间,使用expire命令。redis的过期策略指的是缓存的key过期了,redis是如何处理的。

  • 惰性过期:只有当访问一个key时,才会判断该key是否过期,过期才删除。这个策略可以优化CPU资源,但是对内存不友好,可能对内存造成过度浪费。比如出现极端情况,大量过期的key没有再次被访问,从而不会被清楚,一直保存在内存中,占用大量内存。
  • 定期过期:每隔一段时间,会扫描⼀定数量的数据库的expires字典中⼀定数量的key,并清除其中已过期的key。这个策略是折中方案,通过调整定时扫描的时间间隔和每次扫描的耗时,尽量在不同情况下使得redis的cpu和内存资源达到最优的平衡效果。

在Redis中同时使用了惰性过期和定期过期的两种过期策略。

你可能感兴趣的:(redis,数据库,缓存)