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在保证高性能的同时实现高效回收,实际应用中需根据业务负载动态调整参数。

posted @ 2025-04-11 10:38  it-小林  阅读(183)  评论(0)    收藏  举报