繁体   English   中英

是缓存还是缓存?

[英]Is that caches or cache?

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

cache.add() 
cache.addAll()
cache..put()
cache.delete()
cache.keys()
cache.match()
cache.matchAll()

但在真正实施进一步下滑,他们有时会用一些缓存S(以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.opencache.match()和其他方法

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

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

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)
});

因此,只要它们引用caches ,它们就意味着全局CacheStorage接口,而cache是并且任意命名变量,存储打开/解析的单个Cache

确切地说,缓存存储缓存对象。 同时引用附带图片中的示例(Google Chrome中的开发人员工具)中的渐进式网络应用链接

可以在Browser的Developer Tool中看到Cache Storage下的缓存列表 要阅读有关缓存的更多信息,请参阅CacheStorage

(因为“你可以通过全局缓存属性访问CacheStorage”,所以它是同一件事。)

缓存在各种用例中非常有用。 例如,当值计算或检索的代价很高时,您应该考虑使用缓存,并且您需要多次在某个输入上使用它的值。

Cache类似于ConcurrentMap,但不完全相同。 最根本的区别在于ConcurrentMap会持久保存添加到其中的所有元素,直到它们被明确删除。 另一方面,缓存通常被配置为自动逐出条目,以便限制其内存占用。 在某些情况下,由于其自​​动缓存加载,即使它没有逐出条目,LoadingCache也很有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM