Redis过期策略详解
1)核心过期策略
①惰性删除(Lazy Expiration)
触发条件:仅在客户端访问key(如GET、SET等操作)时检查是否过期,过期则立即删除。
优点:
CPU资源占用低,删除操作分散到用户请求中执行。
缺点:
长期未被访问的过期key可能占用内存(内存泄漏风险)。
②定期删除(Active Expiration)
触发条件:Redis周期性随机抽取部分key(默认每秒10次),检测并删除过期数据,包含两种模式:
SLOW模式:
执行频率:1秒10次(100ms/次)
每次执行时长:≤25ms
FAST模式:
执行间隔:≥2ms
每次执行时长:≤1ms
优点:
主动清理内存,减少长期未访问key的堆积。
缺点:
高频扫描可能影响CPU性能(需通过hz参数调整频率)。
2)策略对比

3)补充说明
混合策略:Redis实际采用惰性删除+定期删除组合方案,平衡内存清理效率和CPU消耗。
过期时间设置:
命令:EXPIRE(秒级)、EXPIREAT(时间戳)、SETEX(字符串专属)。
清除方法:PERSIST可取消key的过期时间。
4)配置建议
①调整扫描频率

②监控内存泄露

通过组合策略,Redis在保证高性能的同时实现高效回收,实际应用中需根据业务负载动态调整参数。
如本文有侵权行为,请及时与本人联系,多多包涵!
小生初出茅庐,多多指教!
本文来自博客园,作者:it-小林,转载请注明原文链接:https://www.cnblogs.com/linruitao/p/18820154

浙公网安备 33010602011771号