簡體   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