Workers Response Store cache adapter

vinext persists ISR and "use cache" values through Workers Response Store. The application Worker stays uncached; a service-bound cache Worker owns Workers Cache, R2 bodies, and SQLite Durable Object metadata.

Probe /cached/intro

Issues a no-store fetch against the route. The route embeds a fresh render-id into every server-rendered response — comparing it across probes is the most reliable way to tell whether SSR actually happened or a cache served the same bytes again. x-vinext-cache reports whether vinext read its durable data cache;cf-cache-status should remain unset because this application Worker does not enable Workers Cache.

HTTP status
render-id
render-time
x-vinext-cache
cf-cache-status
not set — running locally, or the runtime doesn't expose it
Age
Cache-Control
cf-ray
Probed at

Pick a demo route

ISR Static page

Renders a server timestamp under revalidate = 60. Every reload after the first should hit the cache layer.

Open /cached/intro →

Tags Tagged content

A tagged fetch() during render attaches post:<slug> to the page's cache entry. Try revalidateTag("post:featured") from the panel.

Open /cached/featured →

Route Cached route handler

/api/now caches a JSON payload for 30s. Watch the timestamp freeze, then refresh after the revalidate window.

Open /api/now →

Data Use cache

A dynamic page runs for every request while a "use cache" function keeps the same UUID in the response store.

Open /use-cache →

Dynamic Always-fresh

A delayed cookies() read for comparison. The Worker completes the personalized stream privately on every request without writing an ISR entry.

Open /dynamic →