![](/img/trans.png)
[英]How to reinstate the Blazor WASM "offline-cache" after a cleanup of the caches?
[英]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.open , cache.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中的開發人員工具)中的漸進式網絡應用鏈接
要閱讀有關緩存的更多信息,請參閱CacheStorage 。
(因為“你可以通過全局緩存屬性訪問CacheStorage”,所以它是同一件事。)
緩存在各種用例中非常有用。 例如,當值計算或檢索的代價很高時,您應該考慮使用緩存,並且您需要多次在某個輸入上使用它的值。
Cache類似於ConcurrentMap,但不完全相同。 最根本的區別在於ConcurrentMap會持久保存添加到其中的所有元素,直到它們被明確刪除。 另一方面,緩存通常被配置為自動逐出條目,以便限制其內存占用。 在某些情況下,由於其自動緩存加載,即使它沒有逐出條目,LoadingCache也很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.