我在渐进的网络应用程序上阅读谷歌幻灯片,他们提到缓存接口有以下方法
cache.add()
cache.addAll()
cache..put()
cache.delete()
cache.keys()
cache.match()
cache.matchAll()但是在实际实现中的进一步幻灯片中,它们有时使用cache__的( with S),有时使用缓存。
caches.open() // whereas this method was not mentioned anywhere
caches.keys()
caches.delete()
caches.match()
cache.put () // only here using cache 同时,在MDN中检查相同的内容。
他们正在编写Cache.add、Cache.addAll和Cache.put (大写为c)。
以及使用caches.open、cache.match()和其他方法
我想知道、cache、和缓存是两个不同的对象(或接口),还是这里我所缺少的?
请提供一些资源或链接,以了解更多的这些。
发布于 2017-09-28 07:57:53
window.caches是一个存储所有命名Cache对象的CacheStorage接口。例如,window.caches.open()方法返回解析为Cache对象的承诺。
// Get a named Cache object from CacheStorage
window.caches.open('cachename').then(cache => {
// Work with resolved cache object (instance of Cache)
});因此,每当它们引用caches时,它们都是指全局CacheStorage接口,而cache是和任意命名的变量,存储已打开/解析的单个Cache。
发布于 2018-02-14 18:59:50
准确地说,缓存存储缓存对象。还引用了渐进式Web应用链接中所附( Google中的开发人员工具)图像中的一个示例

要阅读更多关于缓存的信息,请参考CacheStorage。
(因为“您可以通过全局缓存属性访问CacheStorage”,所以它也是一样的。)
发布于 2017-09-28 07:35:33
缓存在各种用例中都非常有用。例如,当一个值计算或检索成本很高时,您应该考虑使用缓存,并且在某个输入上需要它的值超过一次。
缓存类似于ConcurrentMap,但并不完全相同。最根本的区别是,ConcurrentMap会将添加到它的所有元素保持到显式删除为止。另一方面,缓存通常被配置为自动删除条目,以限制其内存占用。在某些情况下,LoadingCache可能很有用,即使它不驱逐条目,因为它自动加载缓存。
https://stackoverflow.com/questions/46463350
复制相似问题