Redis的删除策略有以下几种:
主动删除策略(Active Expire):当设置了过期时间的键被访问时,检测到是否已过期,如果已过期则立即删除。
惰性删除策略(Lazy Expire):当访问一个键时,先检查是否过期,如果过期则删除。这种策略可以减少每次访问键时的额外开销。
定期删除策略(定期删除策略):每隔一段时间,Redis会随机抽取一部分设置了过期时间的键进行检查,如果过期则删除。这种策略可以用于在实例内存较大时,减少一次性删除大量过期键的开销。
惰性删除+定期删除策略(Lazy + periodic expire):结合了惰性删除和定期删除策略的优点,定期删除可以保证过期键的删除,而惰性删除可以减少每次访问键时的额外开销。
需要注意的是,Redis并不保证精确的删除时间,而是在满足某个条件时才进行删除。因此,过期键可能在过期后一段时间内仍然存在。