【问题标题】:Can someone explain Google Chrome in-memory cache?有人可以解释 Google Chrome 内存缓存吗?
【发布时间】:2016-02-19 20:26:16
【问题描述】:

根据this API doc,这是我找到的唯一描述内存缓存的来源:

Chrome 使用两个缓存——一个磁盘缓存和一个非常快的内存缓存 缓存。内存缓存的生命周期附加到生命周期 一个渲染进程,大致对应一个tab。要求 从内存缓存中得到答复 对 Web 请求不可见 API。如果请求处理程序改变了它的行为(例如, 根据哪些请求被阻止的行为),一个简单的页面 刷新可能不尊重这种改变的行为。为了确保 行为改变通过,调用 handlerBehaviorChanged() 刷新 内存缓存。但不要经常这样做;刷新缓存是一个 非常昂贵的操作。你不需要打电话 注册或注销事件后的 handlerBehaviorChanged() 听众。

我需要更好地了解内存缓存。具体来说,我每次访问网站时都需要 Chrome 生成完整的 webRequest / 资源瀑布,包括刷新页面。显然,如果它使用内存中的缓存,这不可能是真的。

当我创建新选项卡时,内存缓存是否为新选项卡带来了全新的体验?

“非常昂贵的操作”在数量上是什么意思?

如果我每次在同一个选项卡中重新加载页面时都调用 handlerBehaviorChanged() ,那能保证完整的瀑布流吗?在这种情况下,10 分钟内 20 次的限制似乎相当低。

非常感谢任何帮助,谢谢!

【问题讨论】:

    标签: google-chrome google-chrome-extension


    【解决方案1】:

    在您的情况下,我认为您的问题在于长期缓存而不是内存缓存。在资源瀑布中,可以将多个请求标记为已缓存。如果您愿意,有多种方式可以避免这种情况:

    请记住仅将这些规则应用于您真正需要的资源。否则,您的网络服务器将因不必要的请求而过载。

    正如提到的文档中所述:即使对于相同的 url 和相同的选项卡,内存缓存也不适用于不同的页面渲染(内存缓存附加到渲染进程的生命周期 em>),所以我认为这不适用于您的情况。每次显示页面时,渲染周期都会结束,如果再次渲染,则会开始不同的周期。例如:当第一次加载图片时出现在瀑布中,但对于以后在同一页面上的请求则没有。

    【讨论】:

    • [需要引用] 第一个声明
    • 我指的是问题中提到的同一份文件
    • 抱歉,没注意到。
    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 2012-05-29
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多