美文网首页
缓存的过期策略

缓存的过期策略

作者: nhhnhh | 来源:发表于2019-09-17 22:32 被阅读0次

我们日常开发中经常会用到缓存,有redis的,Memcached的。我们经常会设置缓存的过期时间。但是缓存的过期策略到底是怎样的呢,设置了时间以后,为什么时间到了,就认为这个缓存是失效了。
首先我们来说一下redis的缓存过期策略,redis有2种缓存过期策略。一种是消极的,一种是积极的。
消极策略:每次去获取key的时候,判断一下这个key的过期时间是什么,如果已经过期了,就删除掉。
积极策略:如果只用消极策略,就会导致不常用的key一直存在,无法删除。所以有一个积极策略,使用redis的时间事件,间隔一段时间就去检查并删除失效主键,从中尝试着随机抽样 REDIS_EXPIRELOOKUPS_PER_CRON(默认值为10)个设置了失效时间的主键,检查它们是否已经失效,如果失效就删除,如果失效的主键个数占本次抽样个数的比例超过25%,Redis 会认为当前数据库中的失效主键依然很多,会重复上述步骤,直到刚才的比例低于25%才停止对当前数据库的处理,转向下一个数据库。这里不会一直处理下去,最多只处理 REDIS_DBCRON_DBS_PER_CALL(默认值为16)次,并且只能持续一定的时间,避免删除失效主键占用过多的CPU资源。

相关文章

  • 缓存机制

    又上图看出缓存的大致分类存储策略, 过期策略, 协商策略 HTTP缓存机制 我们先看看关于http header中...

  • 还在用GuavaCache?它才是 Java 本地缓存之王

    Guava Cache 的优点是封装了get,put操作;提供线程安全的缓存操作;提供过期策略;提供回收策略;缓存...

  • 缓存的过期策略

    我们日常开发中经常会用到缓存,有redis的,Memcached的。我们经常会设置缓存的过期时间。但是缓存的过期策...

  • FIFO 、LRU、LFU三种算法

    提到缓存,有两点是必须要考虑的: (1)缓存数据和目标数据的一致性问题。 (2)缓存的过期策略(机制)。 其中,缓...

  • [缓存系列] redis那点事

    本文,你将阅读到以下内容: 如何应对缓存击穿和缓存雪崩的问题; Redis 的过期策略以及内存淘汰机制; 1.如何...

  • 如何制定Redis过期策略。

    前言 制定Redis过期策略,是整个Redis缓存策略的关键之一,因为内存来说,公司不可能无限大,所以就要对key...

  • Redis系列(三)--过期策略

    制定Redis过期策略,是整个Redis缓存策略的关键之一,因为内存来说,公司不可能无限大,所以就要对key进行一...

  • Redis 缓存淘汰策略

    本文主要讲解了 redis 缓存过期淘汰策略, 后面我们会结合 LeetCode 的 LRU 算法题目,自己动手实...

  • Redis的缓存淘汰策略LRU与LFU

    前言 Redis缓存淘汰策略与Redis键的过期删除策略并不完全相同,前者是在Redis内存使用超过一定值的时候(...

  • Redis过期键删除策略和淘汰机制

    前言 Redis缓存淘汰策略与Redis键的过期删除策略并不完全相同,前者是在Redis内存使用超过一定值的时候(...

网友评论

      本文标题:缓存的过期策略

      本文链接:https://www.haomeiwen.com/subject/dszfyctx.html