内存缓存和硬盘缓存

硬盘缓存

  1. 缓存内容

    • 静态资源:通常包括 CSS、JavaScript 文件、图像(如 PNG、JPEG)、字体文件等,这些文件在多个页面或会话中会被重复使用。
    • API 响应:某些情况下,API 的响应内容也可能会被缓存,以减少后续请求的延迟。
  2. 清理频率

    • 空间管理:硬盘缓存的清理并没有固定的时间间隔,而是取决于多个因素,包括存储空间的使用情况、浏览器的策略以及用户的设置。如果硬盘空间不足,浏览器会根据使用频率和最近访问时间来淘汰较旧或不常用的缓存。
    • 手动清理:用户也可以手动清理硬盘缓存,通常通过浏览器设置中的"清除浏览数据"选项来进行。

内存缓存

  1. 缓存内容

    • 当前页面的动态资源:内存缓存主要包含当前会话中使用的资源,例如脚本、样式表、页面生成的 DOM 数据等。
    • 已加载的XHR请求:对于通过 XMLHttpRequest(XHR)或 Fetch API 加载的数据,内存缓存会存储这些响应,以便在当前标签页内的后续请求中快速使用。
  2. 清理频率

    • 会话结束时清理:内存缓存的清理一般是在浏览器关闭、标签页关闭或浏览器重启时进行,因为内存缓存依赖于浏览器进程的运行状态。
    • 刷新或重新加载:在某些情况下,刷新页面可能会清空内存缓存,尤其是在选择"强制刷新"时(如 Ctrl + F5)。

总结

  • 硬盘缓存是长期存储静态资源和 API 响应,可以在关闭浏览器后仍然保留,管理方式依赖于空间及使用情况。
  • 内存缓存是短期存储,通常仅在当前会话中存在,主要用于提高对动态资源和先前加载内容的访问速度,在浏览器关闭或页面刷新时会被清除。
相关推荐
Zafir20248 分钟前
Qt实现TabWidget通过addTab函数添加的页,页内控件自适应窗口大小
开发语言·c++·qt·ui
阿巴~阿巴~11 分钟前
深入解析C++非类型模板参数
开发语言·c++
gnip11 分钟前
包管理工具的发展
前端
想回家的一天1 小时前
Go1.25的源码分析-src/runtime/runtime1.go(GMP)
数据库·redis·缓存
前端工作日常1 小时前
H5 实时摄像头 + 麦克风:完整可运行 Demo 与深度拆解
前端·javascript
韩沛晓1 小时前
uniapp跨域怎么解决
前端·javascript·uni-app
前端工作日常1 小时前
以 Vue 项目为例串联eslint整个流程
前端·eslint
程序员鱼皮1 小时前
太香了!我连夜给项目加上了这套 Java 监控系统
java·前端·程序员
Rubin932 小时前
TS 相关
javascript
该用户已不存在2 小时前
这几款Rust工具,开发体验直线上升
前端·后端·rust