Skip to main content

CacheCustom

This allows you to create your own caching strategy, using any of the options available in a CachingStrategy object.

Learn more about data fetching in Hydrogen.

Anchor to overrideOptions
overrideOptions
required

AllCacheOptions

Override options for a cache strategy.

maxAge
number

The maximum amount of time in seconds that a resource will be considered fresh. See max-age in the MDN docs.

mode
string

The caching mode, generally public, private, or no-store.

sMaxAge
number

Similar to maxAge but specific to shared caches. See s-maxage in the MDN docs.

staleIfError
number

Indicate that the cache should serve the stale response if an error occurs while revalidating the cache. See stale-if-error in the MDN docs.

staleWhileRevalidate
number

Indicate that the cache should serve the stale response in the background while revalidating the cache. See stale-while-revalidate in the MDN docs.

Examples
import {CacheCustom} from '@shopify/hydrogen';

export async function loader({context}) {
const data = await context.storefront.query(
`#grahpql
{
shop {
name
description
}
}
`,
{
cache: CacheCustom({
maxAge: 60 * 60 * 24 * 365,
staleWhileRevalidate: 60 * 60 * 24 * 7,
}),
},
);

return data;
}
Was this page helpful?