Bypass caching for subrequests made from Cloudflare Workers, with Request.cache
You can now use the cache
property of the Request
interface to bypass Cloudflare's cache when making subrequests from Cloudflare Workers, by setting its value to no-store
.
When you set the value to no-store
on a subrequest made from a Worker, the Cloudflare Workers runtime will not check whether a match exists in the cache, and not add the response to the cache, even if the response includes directives in the Cache-Control
HTTP header that otherwise indicate that the response is cacheable.
This increases compatibility with NPM packages and JavaScript frameworks that rely on setting the cache
property, which is a cross-platform standard part of the Request
interface. Previously, if you set the cache
property on Request
, the Workers runtime threw an exception.
If you've tried to use @planetscale/database
, redis-js
, stytch-node
, supabase
, axiom-js
or have seen the error message The cache field on RequestInitializerDict is not implemented in fetch
— you should try again, making sure that the Compatibility Date of your Worker is set to on or after 2024-11-11
, or the cache_option_enabled
compatibility flag is enabled for your Worker.
- Learn how the Cache works with Cloudflare Workers
- Enable Node.js compatibility for your Cloudflare Worker
- Explore Runtime APIs and Bindings available in Cloudflare Workers