浏览器(例如:Chrome)可以在缓存中存储的最大数据量是多少?

Jeb*_*eby 6 browser caching google-chrome

我正在处理 PBI 报告,该报告可通过浏览器访问。我可以看到加载报告的查询在第一次访问时被缓存,这使得第二次加载速度更快。但是,如果我进行多次交互(选择切片器、过滤器和打开子报告)并打开其他 2-3 个报告并执行上述相同操作,然后返回到第一个报告,我可以看到查询请求再次被触发,而不是从浏览器缓存加载它。这意味着我可能已达到缓存限制。

请注意,我的报告本身的查询请求在响应中没有任何Cache-max Age标头。

我期望它有某种缓存限制设置(可能适用于所有浏览器)。如果已设置,该值是多少?我可以更改该值以增加浏览器缓存吗??

从Chrome浏览器的缓存设置中我可以看到图像和文件的最大缓存大小始终在320MB以内。这是所有浏览器的共同限制吗?

the*_*aco 4

缓存大小

\n

缓存对于不同的浏览器有不同的功能。每个浏览器通常没有明确的“规则”,并且缓存限制和功能在设备和浏览器之间可能有所不同。

\n

您声明最大缓存大小为 320MB。对于您的设备来说,这可能始终如此,但如果您检查不同的设备或配置不同的设置,情况就会改变。Chrome 通常使用大于 320MB 的缓存大小,根据用户的硬盘空间,甚至可以达到千兆字节。Microsoft Edge 和 Firefox 的功能非常相似。

\n

Safari 的缓存比较混乱,因为 iOS 对其进行了限制以优化设备性能。Firefox 也使用动态缓存,但是是可配置的(如下所述),并且您可以比 Safari 缓存更清楚地跟踪其大小。

\n

增加缓存大小

\n

您可以增加 Chrome 上的缓存大小。您无法在任何常见浏览器上调整最终用户的缓存大小。

\n

对于 Chrome,您可以使用以下步骤轻松更改本地缓存:

\n
    \n
  1. 启动 Chrome
  2. \n
  3. 右键单击 Chrome 图标
  4. \n
  5. 右键单击显示“Google Chrome”的行项目
  6. \n
  7. 点击“属性”
  8. \n
  9. 导航到“快捷方式”选项卡
  10. \n
  11. 单击“目标”框
  12. \n
  13. 将其添加到该行的末尾:\xe2\x80\x94-disk-cache-size=524000000
  14. \n
\n

在 Windows 上,现在将显示为"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" --disk-cache-size=524000000

\n

这会将缓存设置为大约524MB,但很可能不是该值,如此处所述;Chrome 将其视为缓存大小应为多少的“提示”。将其增加到一个很大的值似乎是可取的,但回报会递减,而且如果增加太大,实际上可能会抑制性能。

\n

要更改 Firefox 上的缓存大小,请参阅本文

\n

您可以通过 GUI 更改 Microsoft Edge 中的缓存大小,如此处所述

\n

标头

\n

您说您没有设置Cache-Control: max-age为标题,但这样做可能会有所帮助。例如,如果您希望缓存持续 24 小时,您可以这样做Cache-Control: max-age=86400。请记住,如果您加载动态内容但告诉浏览器将内容保留整整 24 小时,则可能会遇到问题。如果您有真正的静态内容,您可以根据需要缓存它;相反,真正的动态内容通常会使用Cache-Control: max-age=0.

\n

优化缓存的 PBI 报告

\n

如果缓存对您很重要,您可以相应地设计 PBI 报告。

\n
    \n
  1. 使用聚合来减少需要查询和传输的数据量
  2. \n
  3. 通过预先计算度量来优化查询
  4. \n
  5. 通过排除不相关的数据来最小化数据大小
  6. \n
  7. 使用性能分析器了解 PBI 报告的哪些部分使用的资源最多
  8. \n
\n