当我们对一个key设置了过期时间后,redis会维护一个过期字典。也就是说redis的过期字典里面包含了所有kev的过期时间。redis使用的过期策略分为两种。
a.惰性删除,不主动删除。当我们使用某一条数据是redis会先和过期字典中的的数据进行一个比对,如果该key没有过期则正常返回。该策略的好处是会减少redis对系统资源的使用,但缺点是会造成存储空间的浪费。(如果某一个过期数据一直未被访问时,该数据所占用的存储空间会一直无法释放)
b.定期删除,redis随机抽取key,判断该key是否过期,当抽取的某一批key过期达到25%会一直重复这个操作,直到过期率不足25%,redis为了保证不会过渡循环导致线程卡死,增加了了一个时间限制为25ms。该策略的好处是会及时的释放存储空间,缺点是redis会对系统操做频繁。
Redis的键过期策略详解
Redis使用过期字典管理键的生命周期,包括惰性删除和定期删除策略。惰性删除在访问键时检查是否过期,减少资源使用但可能浪费空间。定期删除则是随机检查并清理过期键,确保空间及时释放,但会增加系统操作频率。
2621

被折叠的 条评论
为什么被折叠?



