浏览器from memory cache 和 from disk cache

本文探讨浏览器的缓存机制,包括Memory Cache和Disk Cache的区别。Memory Cache是短期缓存,数据存于内存,加载速度快但容量有限。Disk Cache则利用磁盘空间,容量大但读取速度稍慢。不同操作如直接访问、刷新(F5)和强制刷新(Ctrl+F5)会影响使用哪种缓存。浏览器会根据文件大小和系统内存使用情况选择存储位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做的项目有个关于页面缓存的问题需要解决,问题的大致情况就是项目每次上线后,用户那边不知道版本已经更新了操作的页面还是旧的内容,这样就带来了很多次生问题,每次都要去通知版本更新了让用户手动去刷新一下页面。造成这个问题原因就是浏览器的缓存问题,在浏览器打开一个网页,会发现网页加载的资源有的会显示(from memory cache)有的会显示(from disk cache),对于我们已经访问过的网页,浏览器会将这些已经加载和下载的资源缓存起来,以便下次再次访问的时候可以快速打开页面。那么这二者到底有什么区别,又分别是什么?

一、Memory Cache

Memory Cache 就是内存中的缓存,资源存放在内存中,如果浏览器关闭了那么内存中的资源就会被释放,所以它是一个短期缓存,它只会在下一个导航前保存这些缓存,有些情况下可能更短。当访问过页面后,有的数据和资源就会被放入内存中,比如:图片、样式、脚本等。 内存中的缓存读取数据比磁盘快,所以像样式和图片这类的资源会优先使用memory cache,这样读取速度快页面加载就不会容易卡顿。

是不是能让数据都存放在内存中呢?

数据不全是缓存在内存中,因为内存的空间是有限的,计算机中的内存一定比硬盘容量小得多,系统要根据实际情况合理分配内存的使用,所以能让我们使用的内存必然不多。

二、Disk Cache

Disk Cache就是将资源缓存在磁盘中,相比于内存缓存memory cache磁盘缓存容量就大得多了,但是读取速度会慢一点;所有的资源数据可以缓存,尤其是一些大文件,所以会看到有些脚本文件会存放在内存中,有的会存放在磁盘中,内存容量有限放不下的数据就会存入磁盘中。

Memory Cache和Disk Cache其实都是浏览器强缓存策略的方式, 不请求网络,资源从缓存中提取。

三、不同行为执行缓存方式不同

  1. 在地址栏中输入地址,主要是disk cache,如果没有再去服务器请求资源;
  2. 刷新网页(F5)):会根据当前运行环境内存来决定是从 Memory Cache 还是 从Disk Cache中,优先使用memory cache,没有匹配到的再去disk cache中查找;
  3. 强制刷新(Ctrl + F5):从服务器请求,不使用缓存,加载时间会比较慢;

浏览器会把哪些文件丢进内存(Memory Cache)中?哪些丢进硬盘(Disk Cache)中?

  1. 对于大文件来说,大概率是不存储在内存中的,反之优先
  2. 当前系统内存使用率高的话,文件优先存储进硬盘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值