当前位置:首页 > 问答百科 > 正文内容

什么是系统缓存(缓存概念与应用作用分析)

福瑞号2022-12-16 22:37:07问答百科127

  缓存技术在许多软件编程开发项目中都得到了广泛的应用,今天我们就通过案例分析来简单了解一下,缓存概念与应用作用分析

什么是系统缓存(缓存概念与应用作用分析)-图1

  一、什么是缓存

  缓存就是数据交换的缓冲区。缓存的本质是一个内存Hash。缓存是一种利用空间换时间的设计,其目标就是更快、更近:极大的提高。

  将数据写入/读取速度更快的存储(设备);

  将数据缓存到离应用近的位置;

  将数据缓存到离用户近的位置。

  缓存是用于存储数据的硬件或软件的组成部分,以使得后续更快访问相应的数据。缓存中的数据可能是提前计算好的结果、数据的副本等。的应用场景:有cpucache,磁盘cache等。本文中提及到缓存主要是指互联网应用中所使用的缓存组件。

  缓存命中率是缓存的重要度量指标,命中率越高越好。

  缓存命中率=从缓存中读取次数/总读取次数

  二、何时需要缓存

  引入缓存,会增加系统的复杂度。所以,引入缓存前,需要先权衡是否值得,考量点如下:

  CPU开销-如果应用某个计算需要消耗大量CPU,可以考虑缓存其计算结果。场景:复杂的、频繁调用的正则计算;分布式计算中间状态等。

  IO开销-如果数据库连接池比较繁忙,可以考虑缓存其查询结果。

  在数据层引入缓存,有以下几个好处:

  提升数据读取速度。

  提升系统扩展能力,通过扩展缓存,提升系统承载能力。

  降低存储成本,Cache+DB的方式可以承担原有需要多台DB才能承担的请求量,节省机器成本。

  三、缓存的基本原理

  根据业务场景,通常缓存有以下几种使用方式:

  懒汉式(读时触发):先查询DB里的数据,然后把相关的数据写入Cache。

  饥饿式(写时触发):写入DB后,然后把相关的数据也写入Cache。

  定期刷新:适合周期性的跑数据的任务,或者列表型的数据,而且不要求绝对实时性。

  四、缓存淘汰策略

  缓存淘汰的类型:

  1)基于空间:设置缓存空间大小。

  2)基于容量:设置缓存存储记录数。

  3)基于时间

  TTL(TimeToLive,即存活期)缓存数据从创建到过期的时间。

  TTI(TimeToIdle,即空闲期)缓存数据多久没被访问的时间。

  缓存淘汰算法:

  1)FIFO:先进先出。在这种淘汰算法中,先进入缓存的会先被淘汰。这种可谓是简单的了,但是会导致我们命中率很低。试想一下我们如果有个访问频率很高的数据是所有数据一个访问的,而那些不是很高的是后面再访问的,那这样就会把我们的个数据但是他的访问频率很高给挤出。

  2)LRU:近少使用算法。在这种算法中避免了上面的问题,每次访问数据都会将其放在我们的队尾,如果需要淘汰数据,就只需要淘汰队即可。但是这个依然有个问题,如果有个数据在1个小时的前59分钟访问了1万次(可见这是个热点数据),再后一分钟没有访问这个数据,但是有其他的数据访问,就导致了我们这个热点数据被淘汰。

  3)LFU:近少频率使用。在这种算法中又对上面进行了优化,利用额外的空间记录每个数据的使用频率,然后选出频率低进行淘汰。这样就避免了LRU不能处理时间段的问题。

  这三种缓存淘汰算法,实现复杂度一个比一个高,同样的命中率也是一个比一个好。而我们一般来说选择的方案居中即可,即实现成本不是太高,而命中率也还行的LRU。

扫描二维码推送至手机访问。

版权声明:本文由福瑞号发布,如需转载请注明出处。

本文链接:https://furui.com.cn/19440.html

“什么是系统缓存(缓存概念与应用作用分析)” 的相关文章

西塞山前白鹭飞下一句(中华好诗词·渔歌子|西塞山前白鹭飞)

西塞山前白鹭飞下一句(中华好诗词·渔歌子|西塞山前白鹭飞)

渔歌子,词牌名,又名“渔父”“渔父乐”“渔父词”“秋日田父辞”等。以张志和《渔歌子·西塞山前白鹭飞》为正体,单调二十七字,五句四平韵。另有单调二十七字,五句三平韵;双调五十字,前后段各六句、四仄韵等变体。代表作品有李煜《渔父·一棹春风一叶舟》、孙光宪《渔歌子·泛流萤》等。 1 渔歌子·西塞山前白...

黄鳝什么梗(王者荣耀:英雄都有哪些奇葩的外号)

黄鳝什么梗(王者荣耀:英雄都有哪些奇葩的外号)

王者荣耀现在已经算得上是全民手游,至今为止峡谷中已有103位英雄(算上艾琳),老玩家都会根据自己的习惯给他们取外号,有些英雄说出名字有可能不知道是谁,但要是说出外号马上就能认出来。这些外号有的只有老玩家才知道,鲁班是外号最多的英雄吗? 01 鲁班七号 小白其实也忘了鲁班的原名...

怎么合并遥控器(音乐的好伙伴:KEF)

怎么合并遥控器(音乐的好伙伴:KEF)

很多年轻人在当初因为感觉方便,被手机“领进门”听音乐而体验到聆听的乐趣后,现在越来越多地想进一步拓展听音乐的方式,从手机+耳机的模式,转到音箱的模式。如此一来,这样的“转型”,对于投入费用这一块来说,颇有需求。然而,无论从实际投入程度还是体验感获得感这两方面来说,像本套组合这样的系统,不仅具有高度...

电热毯一晚上多少度电(电热毯耗电吗有空调高吗)

电热毯一晚上多少度电(电热毯耗电吗有空调高吗)

近几年来电热毯非常热门,主要是功能非常齐全,快速即可发热,也不用担心寒风的袭来。不过也有部分使用者担心电费太高,自己无法承担。这时可看看电热毯耗电吗有空调高吗,了解电热毯功率是不是很大,然后再根据自己的实际应用情况计算大概的费用,这样就能够控制好电费开支。 电热毯耗电吗有空调高吗 电热毯和空调相比...

简短可爱名字呆萌(宝宝取小名)

简短可爱名字呆萌(宝宝取小名)

一个可可爱爱的宝宝小名,是能够给别人留下美好的印的,让宝宝变得更有吸引力,下面是呆萌可爱的宝宝小名大全,希望大家喜欢哦!#小名大全# 呆萌可爱的男女宝宝小名大全 呆萌可爱的宝宝小名带解释 【萌音】 萌代表可爱,音本意是指声音,又指音乐,用萌音给宝宝起小名,表示父母希望孩子能够活跃乐观,生活...

行成于思毁于随上一句是啥(业精于勤)

行成于思毁于随上一句是啥(业精于勤)

知识能创造可能 业精于勤,荒于嬉,行成于思,毁于随。这句话出自韩愈《进学解》。意思是学业的精进出于勤奋,而荒废于游荡玩乐;为人做事的成就出于思考,而败坏出于因循随便。 每次看到这段话的时候,你是否会想起,这一路走来的成与败。 萧何 成非萧何,败非萧何,成败与否在于你是否精于勤或思,成败与...