Composable Caching
Fast by default. Flexible by design.

Composable caching primitives for functions and HTTP responses — TTL, stale-while-revalidate, and request deduplication, in any runtime.

Cache the work. Keep the speed.

Cache any function

Add TTL, stale-while-revalidate, integrity checks, and concurrent request deduplication with one wrapper.

HTTP caching with web standards

Cache standard Response objects with automatic ETags, conditional 304s, Cache-Control, Vary, and binary body support.

Serve now, refresh in the background

Keep responses fast with stale-while-revalidate, ISR-style regeneration, and on-demand expiration or invalidation.

Bring any storage

Start with bounded in-memory LRU storage, connect any two-method storage, or layer multiple cache tiers.

Safe defaults by design

Key only on the query parameters, cookies, and headers you choose, while request narrowing prevents accidental cache leaks.

Zero runtime dependencies

Run the same primitives in Node.js, Bun, Deno, browsers, and edge runtimes built on standard Request and Response APIs.