Redis数据过期策略
- 定时删除
在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除
效率低,虽然能及时清除内存。创建及删除都需要cpu的操作,如果这样key过多,回给cpu造成太大压力
- 惰性删除
key过期的时候不删除,每次从数据库获取key的时候去检查是否过期,若过期,则删除,返回null。
如果有些key从不被访问到,那么这些将得不到清理
- 定期删除
每隔一段时间执行一次删除(在redis.conf配置文件设置hz,1s刷新的频率)过期key操作
1. 配置redis.conf 的hz选项 hz is 10 by default
2. 配置redis.conf的maxmemory最大值,当已用内存超过maxmemory限定时,就会触发主动清理策略。 Redis is not configured this by default
惰性删除为redis服务器内置策略与定期删除一起维护过去key的清理
a detail article
https://www.cnblogs.com/zhangchao-letv/articles/6119313.html