A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developers.cloudflare.com/workers/runtime-apis/cache below:

Cache · Cloudflare Workers docs

The Cache API ↗ allows fine grained control of reading and writing from the Cloudflare global network ↗ cache.

The Cache API is available globally but the contents of the cache do not replicate outside of the originating data center. A GET /users response can be cached in the originating data center, but will not exist in another data center unless it has been explicitly created.

Tiered caching

The cache.put method is not compatible with tiered caching. Refer to Cache API for more information. To perform tiered caching, use the fetch API.

Workers deployed to custom domains have access to functional cache operations. So do Pages functions, whether attached to custom domains or *.pages.dev domains.

However, any Cache API operations in the Cloudflare Workers dashboard editor and Playground previews will have no impact. For Workers fronted by Cloudflare Access ↗, the Cache API is not currently available.

Note

This individualized zone cache object differs from Cloudflare’s Global CDN. For details, refer to How the cache works.

The caches.default API is strongly influenced by the web browsers’ Cache API, but there are some important differences. For instance, Cloudflare Workers runtime exposes a single global cache object.

let cache = caches.default;

await cache.match(request);

You may create and manage additional Cache instances via the caches.open ↗ method.

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

await myCache.match(request);

Note

When using the cache API, avoid overriding the hostname in cache requests, as this can lead to unnecessary DNS lookups and cache inefficiencies. Always use the hostname that matches the domain associated with your Worker.

// recommended approach: use your Worker hostname to ensure efficient caching

request.url = "https://your-Worker-hostname.com/";

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

let response = await myCache.match(request);

Our implementation of the Cache API respects the following HTTP headers on the response passed to put():

This differs from the web browser Cache API as they do not honor any headers on the request or response.

Note

Responses with Set-Cookie headers are never cached, because this sometimes indicates that the response contains unique data. To store a response with a Set-Cookie header, either delete that header or set Cache-Control: private=Set-Cookie on the response before calling cache.put().

Use the Cache-Control method to store the response without the Set-Cookie header.

cache.put(request, response);

Note

The stale-while-revalidate and stale-if-error directives are not supported when using the cache.put or cache.match methods.

cache.put will throw an error if:

cache.put returns a 413 error if Cache-Control instructs not to cache or if the response is too large.

cache.match(request, options);

Note

The stale-while-revalidate and stale-if-error directives are not supported when using the cache.put or cache.match methods.

Unlike the browser Cache API, Cloudflare Workers do not support the ignoreSearch or ignoreVary options on match(). You can accomplish this behavior by removing query strings or HTTP headers at put() time.

Our implementation of the Cache API respects the following HTTP headers on the request passed to match():

cache.match generates a 504 error response when the requested content is missing or expired. The Cache API does not expose this 504 directly to the Worker script, instead returning undefined. Nevertheless, the underlying 504 is still visible in Cloudflare Logs.

If you use Cloudflare Logs, you may see these 504 responses with the RequestSource of edgeWorkerCacheAPI. Again, these are expected if the cached asset was missing or expired. Note that edgeWorkerCacheAPI requests are already filtered out in other views, such as Cache Analytics. To filter out these requests or to filter requests by end users of your website only, refer to Filter end users.

cache.delete(request, options);

Deletes the Response object from the cache and returns a Promise for a Boolean response:

Global purges

The cache.delete method only purges content of the cache in the data center that the Worker was invoked. For global purges, refer to Purging assets stored with the Cache API.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4