You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chromium通过HTTP头缓存的默认最大容量是多少?Electron如何修改该值?

缓存问题解答

1. 默认最大缓存容量

你设置的Cache-Control: max-age=31536000、Expires: 31536000响应头命中的是Chromium内核的磁盘缓存,Chrome Web端和Electron平台的默认规则完全一致:

  • 容量默认取用户数据目录所在磁盘剩余可用空间的10%作为上限
  • 同时存在固定上下限约束:最低不小于16MB,最高不超过512MB

当缓存总大小超出上限时,Chromium会自动按LRU(最近最少使用)规则淘汰旧缓存,优先保留最近访问过的资源。

2. Electron修改最大缓存大小的方法

可以修改,但是相关API仅在Electron主进程暴露,不能直接在渲染进程的前端JS中调用,有两种常用实现方案:

方案1:启动时全局指定缓存大小

在应用ready事件触发前,通过命令行参数配置全局磁盘缓存容量,单位为字节,示例代码如下:

const { app } = require('electron')
// 示例:设置缓存上限为1GB
app.commandLine.appendSwitch('disk-cache-size', '1073741824')

app.whenReady().then(() => {
  // 窗口创建等后续逻辑
})

方案2:运行时动态调整缓存大小

Electron 9及以上版本支持通过session模块的setCacheSize方法动态调整指定会话的缓存容量,示例代码如下:

const { session } = require('electron')
// 示例:将默认会话的缓存上限调整为2GB
async function modifyCacheSize() {
  await session.defaultSession.setCacheSize(2 * 1024 * 1024 * 1024)
}

如果需要从渲染进程触发缓存大小调整,可通过IPC通道向主进程发送请求,由主进程调用上述API完成操作。

内容的提问来源于stack exchange,提问作者DengSihan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:39:04