有人可以解释Google Chrome内存中缓存吗?

问题描述:

this API文档,这是我发现的唯一来源,它描述了在内存中缓存:有人可以解释Google Chrome内存中缓存吗?

的Chrome使用两个高速缓存 - 磁盘上的高速缓存和一个非常快的内存 缓存。内存中高速缓存的生存期与渲染进程的生命周期 相关,该进程大致对应于选项卡。 从内存中缓存中得到回复的请求对于Web请求 API不可见。如果请求处理程序更改其行为(例如,阻止请求所依据的行为),则简单页面刷新可能不会遵守此已更改的行为。为确保 行为更改通过,请调用handlerBehaviorChanged()以刷新内存中的缓存 。但不要经常这样做;刷新缓存是一个非常昂贵的操作。在注册或取消注册事件 侦听器之后,您无需调用 handlerBehaviorChanged()。

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

当我创建一个新选项卡时,内存缓存对于新选项卡是干净的吗?

“非常昂贵的手术”是什么意思?

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

任何帮助,高度赞赏,谢谢!

在你的情况,我认为你的问题是与长期缓存,而不是内存中的缓存。在资源瀑布中,几个请求可以被标记为缓存。有各种方式可以避免,如果你想:

切记只为您真正需要的资源应用这些规则。否则,你的网络服务器将被超负荷的请求。

如所提到的文献中指出:在内存中缓存并不适用于不同的页面渲染即使对于相同的URL和在同一标签(内存高速缓存被附接到一个呈现进程的寿命),所以我认为这不适用于你的情况。每次页面显示时渲染周期结束,如果再次渲染,则渲染周期结束。例如:第一次加载图像时出现在瀑布中,但是在同一页面上没有以后的请求。

+0

[引用需要]为第一个索赔 – Xan

+1

我是指在问题 – user1039663

+0

提到的相同的文件啊对不起,没有注意到。 – Xan