0%

Chrome下的MemoryCache,DiskCache

Chrome DevTools下调试前端请求时,会注意到缓存分为两种MemoryCache,DiskCache,针对两者区别和Chrome是如何选择缓存介质的,这里基于我的认知总结下。

概念

单说区别,简单,仅从名字上也可以看出两者的区别,MemoryCache是从内存中存取,因此速度快,但时生命周期短,而DiskCache是磁盘存取,因此读写较慢,但生命周期相对较长,属于持久化存取。

缓存介质选择

对于两种缓存介质的选择,官方权威资料并没有找到,于是我只能做了下测试,同时得出以下的结论。

  1. 当用户第一次加载网页时,如果资源没有标注禁止缓存,则一般都会持久化缓存资源到磁盘
  2. 当用户重新访问同样的URL资源时,无论是强缓存还是协商缓存一旦确定要加载缓存时,Chrome会将请求加载顺序靠前的资源从磁盘拷贝一份到内存,之后从内存加载,而队列靠后的因为内存空间有限则直接从磁盘加载。
  3. 由此可以得出缓存方案选择更多是考虑的资源本身的加载顺序,即急人所急,并非资源的类型。

写在最后

不得不说Chrome东西挺多的,多注意这些细节才能更好的了解Chrome,了解Web。