物流网站建设图片,昆明短视频运营公司,ftp中如何找到网站首页,公司网站设计用什么一、删除策略
删除策略就是针对已过期数据的处理策略。
针对过期数据要进行删除的时候都有哪些删除策略呢#xff1f;
1.定时删除2.惰性删除3.定期删除1、立即删除
当key设置有过期时间#xff0c;且过期时间到达时#xff0c;由定时器任务立即执行对键的删除操作。
优…一、删除策略
删除策略就是针对已过期数据的处理策略。
针对过期数据要进行删除的时候都有哪些删除策略呢
1.定时删除2.惰性删除3.定期删除1、立即删除
当key设置有过期时间且过期时间到达时由定时器任务立即执行对键的删除操作。
优点节约内存到时就删除快速释放掉不必要的内存占用缺点CPU压力很大无论CPU此时负载量多高均占用CPU会影响redis服务器响应时间和指令吞吐量总结用处理器性能换取存储空间拿时间换空间2、惰性删除
数据到达过期时间不做处理。等下次访问该数据时判断 1. 如果未过期则返回数据 2. 发现已过期删除返回不存在
优点节约CPU性能发现必须删除的时候才删除缺点内存压力很大出现长期占用内存的数据总结用存储空间换取处理器性能拿空间换时间
3、定期删除 Redis启动服务器初始化时读取配置server.hz的值默认为10 每秒钟执行server.hz次serverCron()--------databasesCron()---------activeExpireCycle() activeExpireCycle()对每个redis库逐一进行检测每次执行耗时250ms/server.hz 对某个库检测时随机挑选W个key检测 1如果key超时删除key 2如果一轮中删除的key的数量W*25%循环该过程 3如果一轮中删除的key的数量≤W25%检查下一个库在0-15库之间循环 W取值ACTIVEEXPIRECYCLE_LOOKUPSPERLOOP属性值
二、淘汰策略
当新数据进入redis时如果内存不足就会引发淘汰机制。
影响数据淘汰的相关配置如下
1最大可使用内存即占用物理内存的比例默认值为0表示不限制。生产环境中根据需求设定通常设置在50%以上
properties maxmemory ?mb
2每次选取待删除数据的个数采用随机获取数据的方式作为待检测删除数据
properties maxmemory-samples count
3对数据进行删除的选择策略
properties maxmemory-policy policy
数据淘汰的策略一共有3种
1、检测易失数据设置了过期时间的数据
volatile-lru挑选最近最少使用的数据淘汰 volatile-lfu挑选最近使用次数最少的数据淘汰 volatile-ttl挑选将要过期的数据淘汰 volatile-random任意选择数据淘汰
2、检测全库数据
allkeys-lru挑选最近最少使用的数据淘汰 allkeLyRs-lfu挑选最近使用次数最少的数据淘汰 allkeys-random任意选择数据淘汰相当于随机
3、放弃数据驱逐
no-enviction驱逐禁止驱逐数据(redis4.0中默认策略)会引发OOM(Out Of Memory)