disk cache(磁盘缓存) 和 memory cache(内存缓存)的区别

同:

  • 都属于强缓存,现在浏览器缓存存储图像和网页等(主要在磁盘上),而你的操作系统缓存文件可能大部分在内存缓存中。
  • 使用这两个缓存功能,是因为它比从远程的 web 服务器获取这些资源的方式更近、更快。Cpu 本身是有”缓存线”的,它是程序最近使用的内存(RAM)部分的副本。
  • 这样,如果一个程序在一个循环中运行(一遍又一遍地做同样的事情) ,它也就不必为每个指令或数据块进入 RAM 了。
  • 这个缓存比 RAM 快得多,但是它非常小,因为超快的内存毕竟昂贵。

强缓存作为性能优化中缓存方面最有效的手段,能够极大的提升性能。
由于强缓存不会向服务端发送请求,对服务端的压力也是大大减小。
对于不太经常变更的资源,可以设置一个超长时间的缓存时间,比如一年。

浏览器在首次加载后,都会从缓存中读取。
但是由于不会向服务端发送请求,那么如果资源有更改的时候,怎么让浏览器知道呢?
现在常用的解决方法是加一个?v=xxx的后缀,在更新静态资源版本的时候,更新这个v的值,这样相当于向服务端发起一个新的请求,从而达到更新静态资源的目的。

区别:

区别主要在于提取速度上,memory cache 要比 disk cache 快的多,怎么使用要看前端技术人员结合自己网站来选择了,两个都是很不错的缓存方式!
举个例子:从远程 web 服务器直接提取访问文件可能需要500毫秒(半秒),那么磁盘访问可能需要10-20毫秒,而内存访问只需要100纳秒,更高级的还有 L1缓存访问(最快和最小的 CPU 缓存)只需要0.5纳秒。

三级缓存原理

  1. 先去内存看,如果有,直接加载

  2. 如果内存没有,择取硬盘获取,如果有直接加载

  3. 如果硬盘也没有,那么就进行网络请求

  4. 加载到的资源缓存到硬盘和内存

比如:访问图片-> 200 -> 退出浏览器

再进来-> 200(from disk cache) -> 刷新 -> 200(from memory cache)

参考文档:https://www.cnblogs.com/developer-ios/p/14044834.html

disk cache(磁盘缓存) 和 memory cache(内存缓存)的区别相关推荐

  1. 内存缓存(from memory cache)和硬盘缓存(from disk cache) 的区别

    引言 ?命中强制缓存时,资源会显示 from memory cache or from disk cache 两者的区别 内存缓存(from memory cache) 内存缓存具有两个特点,分别是快 ...

  2. 聊一聊缓存 [from memory cache 和 from disk cache]

    今天看到了一个问题,如果浏览器关闭了再打开, 请求还是from cache吗?  笼统的说yes 现在简单的来分析一下,首先,大家可以想一下,浏览器的缓存存放在哪里,如何在浏览器中判断强制缓存是否生效 ...

  3. Android UIL图片加载缓存源码分析-内存缓存

    本篇文章我们来分析一下著名图片加载库Android-Universal-Image-Loader的图片缓存源码. 源码环境 版本:V1.9.5 GitHub链接地址:https://github.co ...

  4. 浏览器缓存 from memory cache与from disk cache详解

    在chrome浏览器中的控制台Network中size栏通常会有三种状态 from memory cache from disk cache 资源本身的大小(如:1.5k) 那么问题来了 三种区别在哪 ...

  5. 浏览器缓存:memory cache、disk cache、强缓存协商缓存等概念

    文章目录 分类 memory cache disk cache Service Worker Push Cache 缓存过程 强缓存 1.Expires 2.Cache-Control Expires ...

  6. php 写入内存缓存,示例:通过内存缓存来提升性能

    当在进行大量的计算时,提升性能最直接有效的一种方式就是避免重复计算.通过在内存中缓存和重复利用相同计算的结果,称之为内存缓存.最明显的例子就是生成斐波那契数列的程序,代码如下所示: package m ...

  7. 浏览器缓存(一):强缓存 MEMORY CACHE 和 DISK CACHE

    关于memory cache 和 disk cache 随便浏览一个网站: 首次打开,或者开启浏览器的 Disable Cache(浏览器的Network下, 与Preserve log同级别),在s ...

  8. memory cache 和 disk cache

    from memory cache 和 from disk cache 最近在优化Vue项目,因此打开网页,按下F12.发现很多js,css得下载来自于 memory cache,引申出问题:请求时浏 ...

  9. 内存缓存、磁盘缓存、内存傻傻分不清

    内存缓存 高速缓存(英语:cache,英语发音:/kæʃ/ kash [1][2][3],简称缓存),其原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DR ...

最新文章

  1. 基础篇9-python基本数据结构-列表
  2. Typescript学习笔记(二)
  3. 如何使用robots禁止各大搜索引擎爬虫爬取网站
  4. 如何实现在O(n)时间内排序,并且空间复杂度为O(1)
  5. RTMP Handshake
  6. java监听数据库操作_第十六篇——JDBC操作数据库之监听器
  7. 介绍两款API管理工具
  8. vs使用未初始化的内存怎么解决_C语言内存操作陷阱总结
  9. python3.5以及scrapy,selenium,等 安装
  10. 大数据算法_【中科大】大数据算法(2020年春季)
  11. python求解三角形第三边长
  12. android 黄金颜色,一加手机3有哪几种颜色 一加3 薄荷金与冰川灰哪种颜色好看?...
  13. 新手福音︱正则表达式小工具RegExr
  14. JSON - Qt 对 JSON的处理
  15. 计算机2级免考那几项,计算机二级证书可以免考哪些自学考试科目?
  16. OJ每日一练——过滤多余的空格
  17. 点击唤起电话功能和企业微信聊天窗口事件(H5)
  18. 腾讯面试题、智力题、Java:小Q的父母要出差N天,走之前给小Q留下了M块巧克力
  19. Matlab中三维直方图的显示方法
  20. JAVA实现本月国际国内节日

热门文章

  1. maven中的testResources标签
  2. 矮人dos安装fc4步骤
  3. 云原生技术和架构概述
  4. 360手机:360N7 Twrp、Root、Magisk教程
  5. 浪潮x86服务器芯片,浪潮七款服务器全面支持45NM
  6. 上海亚商投顾:成交量不足万亿,指数止步四连阳
  7. Flutter中的浮动按钮 FloatingActionButton
  8. 训练日记 2.10 - 4.7
  9. element-ui表格的头部border有空隙的解决办法
  10. uniapp 微信小程序 - 调起手机摄像头: 拍摄身份证的正反面,自定义身份证取景框,在相机上绘制 “身份证轮廓“ 与提示文字(超详细示例源码,一键复制运行开箱即用)