INTEGRITY Dokumentace

Cache

Kontext

Cache API umožňuje jemně granulární řízení čtení a zápisu z globální síť Cloudflare cache.

Cache API je dostupné globálně, ale obsah mezipaměti se nereplikuje mimo datové centrum, ve kterém vznikl. Klíč GET /users odpověď může být uložena do mezipaměti v datovém centru, kde vznikla, ale v jiném datovém centru neexistuje, dokud tam není výslovně vytvořena.

Workers nasazené na vlastních doménách mají přístup k funkčnímu cache operace. Totéž platí pro Pages functions, ať už jsou připojeny k vlastním doménám, nebo *.pages.dev domén.

Jakékoli operace Cache API v editoru dashboardu Cloudflare Workers a Playground náhledy nebudou mít žádný vliv. U Workerů, před kterými je Cloudflare Access, Cache API aktuálně není k dispozici.


Přístup k Cache

caches.default API je silně inspirováno rozhraním Cache API webových prohlížečů, existuje ale několik důležitých rozdílů. Prostředí Cloudflare Workers runtime například zpřístupňuje jediný globální objekt cache.

let cache = caches.default;
await cache.match(request);

Další instance Cache můžete vytvářet a spravovat pomocí caches.open metoda.

let myCache = await caches.open('custom:cache');
await myCache.match(request);

Hlavičky

Naše implementace Cache API respektuje následující hlavičky HTTP v odpovědi předané do put():

Liší se to od Cache API webového prohlížeče v tom, že nerespektuje žádné hlavičky požadavku ani odpovědi.


Metody

Put

cache.put(request, response);

Parametry

Neplatné parametry

cache.put vyvolá chybu, pokud:

Chyby

cache.put vrací 413 chybu, pokud Cache-Control nařizuje neukládat do mezipaměti, nebo pokud je odpověď příliš velká.

Match

cache.match(request, options);

Parametry

Na rozdíl od Cache API prohlížeče Cloudflare Workers nepodporuje ignoreSearch nebo ignoreVary možnosti na match(). Tohoto chování dosáhnete odstraněním query řetězců nebo HTTP hlaviček na put() čas.

Naše implementace Cache API respektuje následující hlavičky HTTP v požadavku předaném do match():

Chyby

cache.match generuje 504 chybovou odpověď, pokud požadovaný obsah chybí nebo mu vypršela platnost. Cache API toto 504 přímo do Worker skriptu, ale místo toho vrací undefined. Přesto podkladové 504 je stále viditelné v Cloudflare Logs.

Pokud používáte Cloudflare Logs, můžete vidět tyto 504 odpovědi s RequestSource z edgeWorkerCacheAPI. I to je očekávané chování, pokud asset v cache chyběl nebo mu vypršela platnost. Mějte na paměti, že edgeWorkerCacheAPI požadavky jsou již odfiltrované v jiných zobrazeních, jako je Cache Analytics. Chcete-li tyto požadavky odfiltrovat nebo filtrovat požadavky pouze od koncových uživatelů vašeho webu, přečtěte si Filtrování koncových uživatelů.

Delete

cache.delete(request, options);

Odstraní Response objekt z mezipaměti a vrátí Promise pro booleovskou odpověď:

Parametry