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

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

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

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

什么是系统缓存(缓存概念与应用作用分析)-图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。

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

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

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

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

海贼王里面的多拉格是谁啊(海贼王:多拉格曾是贝加庞克的实验品)

海贼王里面的多拉格是谁啊(海贼王:多拉格曾是贝加庞克的实验品)

路飞的父亲蒙奇·D·多拉格,可以说是整个海贼王漫画中最神秘的人物之一了。他作为海军英雄卡普的儿子,曾经也是海军中备受关注的潜力股。 然而是什么让他放弃了海军光明的前途而转向前景虽然未知,但必定坎坷的革命军道路的呢?本期我们就来解密,多拉格离开海军创建革命军的原因。 以多拉格的身份和他的能力,海军...

盗墓笔记老九门内谁一只手有七指(重启第二季)

盗墓笔记老九门内谁一只手有七指(重启第二季)

《重启之极海听雷》最新剧情中,红顶水仙身绑炸弹,准备跟众人同归于尽,关键时刻王胖子挡在了吴邪前面,难道这是要安排王胖子下线的节奏?吴邪对此事感到十分内疚,看来这次王胖子的确是出事了。但应该不会死,只是伤的很重。剧版没理由将铁三角拆散,除非是想直接来一个出人意料的结局,但这样粉丝恐怕不会买账。对于吴邪...

正乙烷是什么(正己烷是什么东西)

正乙烷是什么(正己烷是什么东西)

正己烷,低毒、有微弱的特殊气味的无色液体,是重要的化工原料和溶剂,广泛的应用于医药、化工分析和化工生产行业。正己烷常用于:1、清洁去污剂,用于彩色印刷机、五金电子元件的清洁去污;2、脱脂和植物油萃取;3、粘胶配制,用于制鞋、制球;4、油漆的稀释剂;5、许多汽油也含有正己烷。 扩展资料:正己烷操作注...

iphone13预售和发售的区别(分析师:苹果iPhone)

iphone13预售和发售的区别(分析师:苹果iPhone)

【环球网综合报道】据外媒9月13日报道,据悉,苹果在上周发布了全新的iPhone 14系列新机。官网显示,该系列新机的预购已正式开启,并将于9月16日进行发售。 但据苹果分析师郭明錤称,iPhone 14与iPhone 14 Plus这两个机型的预订量低于前代机型的预订量。“iPhone 14与i...

杜甫资料简介(中国历史上1500年出了12位大诗人:一人一首经典)

杜甫资料简介(中国历史上1500年出了12位大诗人:一人一首经典)

文/东方湟《读诗词歌赋》 中国古代伟大诗人自战国时期楚国爱国诗人屈原起,到南宋伟大爱国诗人陆游止,这期间经历了漫长的1500多年,在中国的文学诗史上,也曾诞生了不少伟大的诗人,尤其是唐代,诗人可谓说层出不穷,就是著名的诗人也可谓是比比皆是,但如果说是伟大的诗人,那就屈指可数了。 诗歌作为中国古代文学...

二尺一是多少厘米啊(裤子32码是多大腰围)

二尺一是多少厘米啊(裤子32码是多大腰围)

裤子32码腰围是二尺五,大约为83厘米。码数与尺数的计算公式为:尺数=(码数-7)+ 10。腰围是经脐部中心的水平围长,反映脂肪总量和脂肪分布的综合指标。腰围的测量方法是:把皮尺放在肚脐上面两个手指的位置,绕-圈,读出尺子上的数据就是个人腰围的数据了。 裤子的尺码是根据腰围、臀围、裤长等尺码数据来...