缓存

https://blog.csdn.net/sinat_14913533/article/details/115872837

我对缓存的认识就是:当多个系统(组件、甚至是软件分层)之间,处理一件事情的时候,有速度差异的时候,为了提高速度,将上一层的处理结果记录下来,后续的访问就直接从本层拿到记录下来的结果,而不需要去上一层去获取结果,从而提高整体的响应速度。

从这个角度来看,理解下cpu的高速缓存:

高速缓存产生的背景就是:cpu需要的数据都是从内存中读取的,但是内存的速度和cpu的速度相差好几个数量级,为了更高效的利用cpu的计算能力,平衡内存和cpu之间的效率差距,引入高速缓存。cpu不是从内存中直接获取数据,而只是和高速缓存交互,如果高速缓存中有,就直接用高速缓存中的数据;如果没有就去内存转给你读取。这个地方缓存是站在cpu的角度来说,高速缓存记录的就是从内存中拿到的结果一次提高效率。

应用缓存:

一个应用所需要的数据很多,有的是来自磁盘,比如配置文件,有的是来自db,比如业务数据。应用数据要获取这些数据都需要经过IO去获取,为了提高效率,应用中可以将拿到的数据放到自己本地内存中,这样后续需要这些数据的时候就从内存中取就好了。

所以说,凡是使用了一个更高效的方式来冗余数据,而为了获取这些数据是比较耗时的,那这种都可以认为是缓存。缓存不一定是内存,那些镜像站其实也是缓存,比如github,maven仓库等,直接去访问美国的仓库是比较慢的,所以在国内有很多镜像站,本质也是缓存。
————————————————
版权声明:本文为CSDN博主「georgesnoopy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_14913533/article/details/115872837

posted @ 2022-06-20 23:09  没有任何出路  阅读(161)  评论(0)    收藏  举报