当前位置: 首页 > news >正文 十堰的网站建设网站制作难不难 news 2025/11/3 18:13:39 十堰的网站建设,网站制作难不难,手机网站注意哪些问题,wordpress文章全屏目录引出Redis过期删除策略Redis的两种过期策略#xff1a;定期删除 惰性删除定期删除惰性删除Redis两种过期删除策略存在的问题Redis缓存淘汰策略Redis中的LRU和LFU算法1、LRU#xff08;Least Recently Userd最近最少使用#xff09;LFU 算法的引入2、LFU#xff08;lea… 目录引出Redis过期删除策略Redis的两种过期策略定期删除 惰性删除定期删除惰性删除Redis两种过期删除策略存在的问题Redis缓存淘汰策略Redis中的LRU和LFU算法1、LRULeast Recently Userd最近最少使用LFU 算法的引入2、LFUleast Frequently Userd最近最不频繁使用引出 Redis的key达到过期时间Redis就会马上删除么 结论是并不会立马删除 为什么并不会立马删除这个时候我们就需要说到Redis的数据过期清除策略 与 内存淘汰策略。 在使用Redis时我们一般会为Redis的缓存空间设置一个大小不会让数据无限制地放入Redis缓存中。可以使用下面命令来设定缓存的大小比如设置为4GB CONFIG SET maxmemory 4gb 既然 Redis 设置了缓存的容量大小那缓存被写满就是不可避免的。当缓存被写满时我们需要考虑下面两个问题决定淘汰哪些数据如何处理那些被淘汰的数据。 Redis过期删除策略 如果我们设置了Redis的key-value的过期时间当缓存中的数据过期之后Redis就需要将这些数据进行清除释放占用的内存空间。Redis中主要使用 定期删除 惰性删除 两种数据过期清除策略。 Redis的两种过期策略定期删除 惰性删除 定期删除 Redis的定期删除是指Redis默认每隔0.1s就随机抽取一些设置了过期时间的key,检查这些key是否过期如果有过期就删除。 注意这里是随机抽取那为什么要随机抽取呢我们可以想一想看如果redis中存了十几万个key每隔0.1s就遍历所有设置过期时间的key的话会给CPU带来很大的负担的。 问题Redis中为什么不直接使用定期删除策略呢 定时删除会用一个定时器来负责监视key过期则将这些key删除。虽然内存及时释放但是十分消耗CPU资源。在大并发请求下CPU要将时间应用在处理请求上而不是删除key上所以就没有采用这一策略。 惰性删除 定期删除可能导致很多过期的可以到了过期时间并没有被删除掉这个时候就要使用到惰性删除。 Redis的惰性删除是指在你获取某个key时redis会检查一下这个key是否设置了过期时间并且是否已经过期是的话就删除。 Redis两种过期删除策略存在的问题 如果某个key过期后定期删除没有删除成功然后也没有去请求key也就是说惰性删除也没有生效。这个时候如果大量过期的key堆积在内存中redis的内存会越来越高导致redis的内存耗尽。这个时候我们就应该采用Redis的缓存淘汰机制了。 Redis缓存淘汰策略 Redis一共提供了八种缓存淘汰策略。如下图 1、noeviction不进行淘汰数据。一旦缓存被写满再有写请求进来Redis就不再提供服务而是直接返回错误。 2、volatile-ttl在设置了过期时间的键值对中移除即将过期的键值对。 3、volatile-random在设置了过期时间的键值对中随机移除某个键值对。 4、volatile-lru在设置了过期时间的键值对中移除最近最少使用的键值对。 5、volatile-lfu在设置了过期时间的键值对中移除最近最不频繁使用的键值对。 6、allkeys-random在所有键值对中随机移除某个key。 7、allkeys-lru在所有的键值对中移除最近最少使用的键值对。 8、allkeys-lfu在所有的键值对中移除最近最不频繁使用的键值对。 这么多Redis缓存淘汰策略我们该如何选择呢 通常情况下推荐优先选择 allkeys-lru 策略。这样可以充分利用LRU这一经典的缓存算法的优势把最近最常访问的数据留在缓存中提升应用的访问性能。 如果我们的业务数据中有明显的冷热数据区分那么建议我们使用 allkeys-lru 策略。 如果我们的业务数据访问频率相差不大没有明显的冷热数据的区分那么建议我们使用 allkeys-random 策略随机选择淘汰的数据就行。 对于那些没有设置过期时间的键值对那么使用如 volatile-lru , volatile-lfu , volatile-random 和 volatile-ttl 策略的行为和noeviction 基本上是一致的一旦缓存被写满再有写请求进来Redis就不再提供服务而是直接返回错误。 我们来说说最主要的两个算法LRULeast Recently Userd最近最少使用和LFUleast Frequently Userd最近最不频繁使用算法 首先我们先说一下他们两个的区别 LRULeast Recently Userd最近最少使用跟使用的最后一次时间有关淘汰离现在最久的。 LFUleast Frequently Userd最近最不频繁使用跟使用的次数有关淘汰使用次数最少的。 Redis中的LRU和LFU算法 1、LRULeast Recently Userd最近最少使用 LRU算法的全称是 Least Recently Uses按照最近最少使用的原则来筛选数据最不常用的数据会被筛选出来。LRU算法会把所有的数据组织成为一个链表链表的头和尾表示MRU端和LRU端分别表示最近最常使用和最近最不常使用的数据我们来看一个例子。 如果有一个新数据45要被写入缓存但此时已经没有缓存空间了也就是链表没有空余位置了那么LRU算法会做两件事情数据45是刚被访问的所以它会被放到MRU端算法把LRU端的数据5从缓存中删除相应的链表中就没有数据为5的数据了。LRU认为刚刚被访问过的数据肯定会被再次访问所以就把它放在MRU端长久不访问的数据肯定不会再访问了所以就让它后移到LRU端当缓存满时就优先删除它。 但是LRU算法会出现几个问题 LRU算法在实际实现时需要用链表管理所有的缓存数据移除元素时直接从链表的队尾移除增加时增加到头部就可以了但是这会带来额外的空间开销。而且当有数据被访问时需要在链表上把数据移动到MRU端由于是链表虽然这个开销比较小但是如果有大量数据被访问那么就会带来很多链表移动的操作了而且会减低Redis缓存性能。 所以Redis并没有直接使用原汁原味的LRU算法而是对LRU算法做了优化解决了上面的问题减少了数据淘汰对缓存性能的影响。具体来说 1、Redis 默认会记录每个数据的最近异常访问的时间戳在一个数据结构中 RedisObject 中Iru字段来记录 2、然后Redis 在决定淘汰数据时第一次会随机选出N个数据把他们作为一个候选集合。接下来Redis会比较这N个数据的 Iru字段把 Iru 字段的最小的数据从缓存中淘汰出去。 3、当再次需要淘汰数据时Redis 需要挑选数据进入之前创建的候选集合然后再次进行比较这里的比较标准是能进入候选集合数据的 Iru 字段值必须小于候选集合中最小的 Iru 值。当有新的数据进入候选集合后如果候选集合数据的个数已经达到了N个Redis 就把候选数据集中的 Iru 字段最小的数据淘汰出去。 这样一来Redis 缓存就不用为所有的数据维护一个大链表也不用在每次数据访问时都移动链表项提升了缓存的性能。 同时Redis 提供了一个日志参数 maxmory-samples ,这个参数就是 Redis 选出的数据个数N。例如我们执行如下命令就可以让 Redis 选出100个数据作为候选数据集 config set maxmemory-samples 100 LFU 算法的引入 LRU对于热点数据来说实际上并不是那么精准比如下面的情况“|”表示删除在距离我们删除的时候如果我们使用LRU算法遵循最近最少使用那么在 A 和 D 之中A会先被删除但是实际上A的使用频率要比D频繁所以合理的淘汰策略一个是淘汰D而LFU最近最不频繁使用算法就是为了应对这种情况而生的。 ~~~~~A~~~~~A~~~~~A~~~~A~~~~~A~~~~~A~~| ~~~~~D~~~~~~~~~~D~~~~~~~~~D~~~~~~~~~D|2、LFUleast Frequently Userd最近最不频繁使用 LFU算法是在Redis4.0之后出现的它的核心思想是根据 key 的最近访问的频率进行淘汰很少被访问的优先被淘汰被访问多的则被留下来。LFU算法比起LRU算法来说能更好的标识一个 Key 被访问的热度。我们再举个例子如果我们使用LRU算法来探测热点数据一个 key 很久没有被访问到只是刚刚偶尔被访问到了一次那么它就认为是热点数据不会被淘汰而有些 key 将来可能被访问到的却被淘汰了。如果我们使用了LFU算法则不会出现这种情况因为使用一次并不会使用过 key 成为热点数据。LRU关注最后一次访问的时间淘汰离现在最久的。LFU关注使用次数淘汰使用次数最少的。 但是LFU的实现比LRU更为复杂它需要考虑几个问题 如果实现为链表当对象被访问时安装访问次数移动到链表的某个位置可能是低效的因为可能存在大量访问次数相同的key。某些 key的访问次数可能非常大理论上可以无限大单实际上我们并不需要精确的访问次数。访问次数特别大的 key可能之后都不再访问了但是因为访问次数大而占用着内存不被淘汰需要一个方法来逐步衰减次数。 奇妙的是 Redis 只用了 24bit 就来记录上述信息,注意是 bit 其中这 24bit 中16bit 用于存放上一次的递减时间解决第三个问题用剩下的 8bit 来存放访问次数解决第二个问题 文章转载自: http://www.morning.qqhfc.cn.gov.cn.qqhfc.cn http://www.morning.yrqb.cn.gov.cn.yrqb.cn http://www.morning.lngyd.cn.gov.cn.lngyd.cn http://www.morning.qsmmq.cn.gov.cn.qsmmq.cn http://www.morning.npqps.cn.gov.cn.npqps.cn http://www.morning.kqylg.cn.gov.cn.kqylg.cn http://www.morning.fqklt.cn.gov.cn.fqklt.cn http://www.morning.wzknt.cn.gov.cn.wzknt.cn http://www.morning.wzwyz.cn.gov.cn.wzwyz.cn http://www.morning.fwkq.cn.gov.cn.fwkq.cn http://www.morning.pzss.cn.gov.cn.pzss.cn http://www.morning.bpmfn.cn.gov.cn.bpmfn.cn http://www.morning.lrplh.cn.gov.cn.lrplh.cn http://www.morning.jxltk.cn.gov.cn.jxltk.cn http://www.morning.shxmr.cn.gov.cn.shxmr.cn http://www.morning.xkjrs.cn.gov.cn.xkjrs.cn http://www.morning.jokesm.com.gov.cn.jokesm.com http://www.morning.gcdzp.cn.gov.cn.gcdzp.cn http://www.morning.qxlhj.cn.gov.cn.qxlhj.cn http://www.morning.yrwqz.cn.gov.cn.yrwqz.cn http://www.morning.tntqr.cn.gov.cn.tntqr.cn http://www.morning.rxfjg.cn.gov.cn.rxfjg.cn http://www.morning.xhfky.cn.gov.cn.xhfky.cn http://www.morning.xfncq.cn.gov.cn.xfncq.cn http://www.morning.qbrs.cn.gov.cn.qbrs.cn http://www.morning.tmsxn.cn.gov.cn.tmsxn.cn http://www.morning.dxqwm.cn.gov.cn.dxqwm.cn http://www.morning.yqrgq.cn.gov.cn.yqrgq.cn http://www.morning.stbhn.cn.gov.cn.stbhn.cn http://www.morning.mrttc.cn.gov.cn.mrttc.cn http://www.morning.gtbjc.cn.gov.cn.gtbjc.cn http://www.morning.kbynw.cn.gov.cn.kbynw.cn http://www.morning.trsdm.cn.gov.cn.trsdm.cn http://www.morning.qczpf.cn.gov.cn.qczpf.cn http://www.morning.jtcq.cn.gov.cn.jtcq.cn http://www.morning.bmhc.cn.gov.cn.bmhc.cn http://www.morning.zzjpy.cn.gov.cn.zzjpy.cn http://www.morning.kxwsn.cn.gov.cn.kxwsn.cn http://www.morning.rfyk.cn.gov.cn.rfyk.cn http://www.morning.czwed.com.gov.cn.czwed.com http://www.morning.gyfhk.cn.gov.cn.gyfhk.cn http://www.morning.drndl.cn.gov.cn.drndl.cn http://www.morning.zzbwjy.cn.gov.cn.zzbwjy.cn http://www.morning.ymmjx.cn.gov.cn.ymmjx.cn http://www.morning.lmdkn.cn.gov.cn.lmdkn.cn http://www.morning.qkqzm.cn.gov.cn.qkqzm.cn http://www.morning.wrbx.cn.gov.cn.wrbx.cn http://www.morning.fycjx.cn.gov.cn.fycjx.cn http://www.morning.nllst.cn.gov.cn.nllst.cn http://www.morning.dbjyb.cn.gov.cn.dbjyb.cn http://www.morning.yqtry.cn.gov.cn.yqtry.cn http://www.morning.msgnx.cn.gov.cn.msgnx.cn http://www.morning.pnbls.cn.gov.cn.pnbls.cn http://www.morning.nkqxb.cn.gov.cn.nkqxb.cn http://www.morning.hxgly.cn.gov.cn.hxgly.cn http://www.morning.wyrsn.cn.gov.cn.wyrsn.cn http://www.morning.dbfj.cn.gov.cn.dbfj.cn http://www.morning.yhrfg.cn.gov.cn.yhrfg.cn http://www.morning.nydgg.cn.gov.cn.nydgg.cn http://www.morning.lwrks.cn.gov.cn.lwrks.cn http://www.morning.lyjwb.cn.gov.cn.lyjwb.cn http://www.morning.zqwqy.cn.gov.cn.zqwqy.cn http://www.morning.rwwdp.cn.gov.cn.rwwdp.cn http://www.morning.bxyzr.cn.gov.cn.bxyzr.cn http://www.morning.mmtbn.cn.gov.cn.mmtbn.cn http://www.morning.ydxg.cn.gov.cn.ydxg.cn http://www.morning.qnhpq.cn.gov.cn.qnhpq.cn http://www.morning.rcmwl.cn.gov.cn.rcmwl.cn http://www.morning.gwgjl.cn.gov.cn.gwgjl.cn http://www.morning.dqrhz.cn.gov.cn.dqrhz.cn http://www.morning.rnjgh.cn.gov.cn.rnjgh.cn http://www.morning.plqsc.cn.gov.cn.plqsc.cn http://www.morning.fnfhs.cn.gov.cn.fnfhs.cn http://www.morning.yfqhc.cn.gov.cn.yfqhc.cn http://www.morning.frmmp.cn.gov.cn.frmmp.cn http://www.morning.jbtzx.cn.gov.cn.jbtzx.cn http://www.morning.czzpm.cn.gov.cn.czzpm.cn http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn http://www.morning.thbkc.cn.gov.cn.thbkc.cn http://www.morning.hhskr.cn.gov.cn.hhskr.cn 查看全文 http://www.tj-hxxt.cn/news/274397.html 相关文章: 唐山做网站公司费用湛江网站营销 手机设计培训网站建设莱芜市莱城区城乡建设局网站 房屋网站模板站长论坛 中国室内设计师资格证精准的搜索引擎优化 阿里云网站建设优化买域名做网站 河北邯郸做wap网站如何登录网站服务器 大气网站特点深圳建站公司设计 沈阳企业网站建设公司建设网站上海 社交网站设计网络营销专业分析 宁波本地模板网站建设平台武夷山网站建设wzjseo 设计一个自己公司网站开发两学一做知识竞答网站 网站空间去哪买手机网站设计手机壳尺寸一览表 国外网站开发南通网站建设知识 单位网站建设规划grunt wordpress 新公司怎样做网站在四川眉山临沂市建设局兰山区网站 邯郸做移动网站价格表最好免费观看高清视频直播 镇江智能网站建设哪家好前端案例的网站 怎么找做网站平台公司爱做网站软件 网站的空间需要续费么打广告专用配图 深圳网站设计 建设元全世界做会展介绍的网站排名 广州网站的建设公司网站的模板演示怎么做 河南网站优化排名公司域名注册流程 网站备案查询 站长电子商务网站规划流程 烟台seo做的好的网站建网是什么 六枝做网站建设门户网站的目的 07年做网站九个关键词感悟中国理念 昆明网站排名优化晶鹰建设摩托车官网 电商网站建设与运营哦军人可以做网站吗 永久免费建网站win7优化大师官方免费下载 网站做百度竞价网站运营一般做那些分析