2015做哪个网站能致富,网站规则,行业信息网站有哪些,公司介绍页面设计文章目录 一、过期键删除策略1、惰性删除2、定时删除3、定期删除4、Redis的过期键删除策略 二、内存淘汰策略1、设置过期键的内存淘汰策略2、全库键的内存淘汰策略 一、过期键删除策略
1、惰性删除
顾名思义并不是在TTL到期后就立即删除#xff0c;而是在访问一个key的时候而是在访问一个key的时候检查该key的存活时间如果已经过期才执行删除并且删除的目标仅限于当前处理的键。
优点节约cpu性能使用时发现过期键才删除。缺点如果过期键不被访问就不会被删除会一直保留在内存中存在内存泄漏的风险。
2、定时删除
创建一个定时器timer当将过期时立即对该键进行删除操作。
优点对内存友好过期的键会立即删除。缺点对CPU时间不友好当某一时刻处在大量的键过期那么CPU的大部分时间就会在处理删除过期键上会对服务器的响应时间和吞吐量产生影响。
3、定期删除
每隔一段时间执行一次删除过期键操作并通过限制执行时长和频率来减少对CPU时间的影响。
难点很难确定执行时长和频率的取值
4、Redis的过期键删除策略
使用惰性删除定期删除策略使得CPU时间和内存使用可以取得平衡。
二、内存淘汰策略
1、设置过期键的内存淘汰策略
volatile-lru 使用LRU算法移除key只对设置了过期时间的键最近最少使用。volatile-random 在过期集合中移除随机的key只对设置了过期时间的键。volatile-ttl 移除那些TTL值最小的key即那些最近要过期的key。
2、全库键的内存淘汰策略
allkeys-lru 在所有集合key中使用LRU算法移除keyallkeys-random 在所有集合key中移除随机的keynoeviction 不进行移除针对写操作只返回错误信息