是缓存还是缓存?

diE*_*cho 4 javascript caching service-worker progressive-web-apps

我在渐进式网络应用上阅读谷歌幻灯片,他们提到缓存接口有以下方法

cache.add() 
cache.addAll()
cache..put()
cache.delete()
cache.keys()
cache.match()
cache.matchAll()
Run Code Online (Sandbox Code Playgroud)

但在真正实施进一步下滑,他们有时会用一些缓存小号(以s),有时缓存

caches.open()  // whereas this method was not mentioned anywhere

caches.keys() 
caches.delete()
caches.match()

cache.put () // only here using cache 
Run Code Online (Sandbox Code Playgroud)

另外,在MDN中检查相同内容

他们正在编写Cache.add,Cache.addAll和Cache.put(使用大写c)

并使用caches.open,cache.match()和其他方法

我想知道缓存缓存是2个不同的对象(或接口)还是我在这里缺少的?

请提供一些资源或链接以了解更多相关信息.

Dar*_*JDG 8

window.caches是一个CacheStorage存储所有命名Cache对象的接口.例如,该window.caches.open()方法返回一个解析为Cache对象的promise .

// Get a named Cache object from CacheStorage
window.caches.open('cachename').then(cache => {
    // Work with resolved cache object (instance of Cache)
});
Run Code Online (Sandbox Code Playgroud)

因此,无论何时它们引用caches,它们都意味着全局CacheStorage接口,而且cache是任意命名的变量,用于存储Cache打开/解析的个体.