--- title: Cache slug: Web/API/Cache translation_of: Web/API/Cache ---
{{draft}} {{APIRef("Service Workers API")}}

Interfejs Cache ServiceWorkera API reprezentuje magazyn dla par obiektu żądania oraz obiektu odpowiedzi, które są cache'owane jako część cyklu życia {{domxref("ServiceWorker", "ServiceWorkera")}}. Domena może mieć wielokrotne nazwane obiekty Cache, których zawartość jest pod całkowitą kontrolą service workerów.

Każdy obiekt Cache jest kolekcją par klucz/wartość. By w pełni zarządzać zawartością cache'ów (by następnie użyć je offline), interfejs ten dostarcza metody w dużej mierze zgodne z obiektem {{jsxref("Map")}}, jednakże wraz z dodatkowymi, poręcznymi metodami.

Jesteś odpowiedzialny za sposób zarządzania aktualizacjami Cache'u przez {{domxref("ServiceWorker", "ServiceWorkera")}}. Elementy w Cache'u nie są aktualizowane, chyba że jest to wyraźnie zażądane; nie wygasają jeżeli nie usunięte. Użyj {{domxref("CacheStorage.open", "CacheStorage.open(nazwa)")}}, by otworzyć własny, określony obiekt Cache'u, a następnie wywołać jakąkolwiek z jego metod, by nim operować.

Również do Ciebie należy okresowe opróżnianie wpisów cache'u. Każda przeglądarka ma określony limit powierzchni, który może zostać użyty przez danego service workera. Upewnij się, że opisujesz cache'y poprzez nazwy oraz używasz cache tylko z danej wersji {{domxref("ServiceWorker", "ServiceWorkera")}}, ażeby mogły one bezpiecznie na nich pracować.

Właściwości

{{domxref("Cache.options")}}
Opcjonalny parametr przekazywany do metod: {{domxref("Cache.match", "Cache.match(żądanie, opcje)")}}, {{domxref("Cache.add", "Cache.add(żądanie)")}} i {{domxref("Cache.keys", "Cache.keys(żądanie, opcje)")}} z poniższymi atrybutami: ignoreSearch, ignoreMethod, ignoreVary, prefixMatch, cacheName.

Metody

{{domxref("Cache.match", "Cache.match(żądanie, opcje)")}}
Zwraca {{jsxref("Promise")}}, która jest rozwiązywana do pierwszego pasującego żądania w obiekcie {{domxref("Cache", "Cache'u")}}.
{{domxref("Cache.add", "Cache.add(żądanie)")}}
Zwraca {{jsxref("Promise")}}, która jest rozwiązywana do nowego wpisu {{domxref("Cache", "Cache'u")}}, którego kluczem jest żądanie. Ta metoda nadal jest w trakcie tworzenia (zobacz http://crbug.com/427652). Póki co używaj ServiceWorker cache polyfill.
{{domxref("Cache.addAll", "Cache.addAll(żądania)")}}
Zwraca {{jsxref("Promise")}}, która jest rozwiązywana do nowego szeregu złożonego z wpisów {{domxref("Cache", "Cache'u")}}, którego kluczami są żądania. Metoda ta jest nadal w trakcie tworzenia (zobacz http://crbug.com/427652). Póki co używaj ServiceWorker cache polyfill.
{{domxref("Cache.put", "Cache.put(żądanie, odpowiedź)")}}
Dodaje dodatkowe pary klucz/wartość do aktualnego obiektu {{domxref("Cache")}}.
{{domxref("Cache.delete", "Cache.delete(żądanie, opcje)")}}
Znajduje wpis {{domxref("Cache", "Cache'u")}}, którego klucz jest żądaniem, jeśli znaleziony, usuwa ten wpis, zwracając następnie {{jsxref("Promise")}}, rozwiązywany do true. Jeśli dany wpis {{domxref("Cache", "Cache'u")}} nie został znaleziony, zwraca false.
{{domxref("Cache.keys", "Cache.keys(żądanie, opcje)")}}
Zwraca {{jsxref("Promise")}}, który rozwiązuje się do szerego złożonego z kluczów {{domxref("Cache", "Cache'u")}}.

Specyfikacje

Specification Status Comment
{{SpecName('Service Workers', '#cache', 'Cache')}} {{Spec2('Service Workers')}} Initial definition.

Zgodność z przeglądarką

{{CompatibilityTable}}
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support {{CompatChrome(40.0)}} {{CompatGeckoDesktop("33.0")}} {{CompatNo}} 24 {{CompatNo}}
Feature Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatNo}} {{CompatUnknown}} {{CompatNo}} {{CompatUnknown}}

Warte uwagi