十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Reids数据过期策略与淘汰策略

Reids数据过期策略与淘汰策略 Redis中在数据过期的之后对应的两种删除方式1.惰性删除设置了key的过期时间之后我们不再去管他当需要这个key时我们在检查是否过期如果过期就删除反之返回该key优点对CUP友好很多用不到的key不需要浪费时间进行过期检查缺点对内存不友好如果一个key已经过期但是一直没有使用那么该key就会一直存在内存中内存永远不会释放2.定期删除每隔一段时间就对一些key进行检查删除里面过期的key定期清理有SLOW模式和Fast模式SLOW模式是定时任务执行频率默认为10hz每次不超过25ms可以通过修改配置文件来调整FASR模式执行频率不固定但是每次间隔不少于2ms耗时不超过1ms优点可以通过限制删除操作执行的时长和频率减少删除操作对CPU的影响也能有效释放过期键占用的内存缺点难以确定删除操作的时长和频率。Redis中的过期删除策略惰性删除定时删除两种混合使用当数据的量太大导致缓存占满的时候新的数据来了之后对应的Redis有自己的淘汰策略其中Redis默认的是当内存占满之后不能再添加新数据。用的比较多的是LRU和LFULRU最近最少使用。用当前时间减去最后一次访问时间这个值越大淘汰优先越高LFU最少频率使用。会统计每个key的访问频率值越少淘汰优先级越高1.如果业务有明显的冷热数据区分优先使用allkeys-lru策略。充分利用LRU算法的优势把最近最常访问的数据留下缓存中lfu按照频率并不能准确的描述出数据的访问情况2.如果业务中数据访问的频率差别不大没有明显冷热数据区分建议使用allkeys-random随机选择淘汰。3.如果业务中有其他置顶需求可以使用volatile-lru策略同时置顶数据不设置过期时间4.如果业务中有短时高频访问的数据可以使用LFU
返回列表