Redis键过期后会立即删除吗
在 Redis 中,键的过期机制并不是立即删除的。当一个键设置了过期时间后,Redis 不会在设置的过期时间一到的瞬间就立即删除该键。相反,有以下几种情况可能触发键的删除:
惰性删除(Lazy Expiration):
当你尝试访问一个键时,Redis 会检查该键是否已经过期。如果过期了,Redis 会将其删除,并返回空值。这就是惰性删除,也就是说,只有在实际访问该键时,Redis 才会检查并删除过期的键。定期清理(Periodic Expiration):
Redis 还会周期性地对数据库中的键进行检查,删除那些已经过期的键。这个过程是通过后台线程定期运行来实现的,默认每 100 毫秒会检查一定数量的键。
因此,在极少数情况下,键可能会在过期后短时间内依然存在,直到下次访问或定期清理发生。在高负载情况下,这种延迟可能会稍微长一些。