Getting started
-
Install the package (view on npm)
Terminal window bun add drizzle-cloudflare-kv-cache-adapterTerminal window npm i drizzle-cloudflare-kv-cache-adapterTerminal window pnpm add drizzle-cloudflare-kv-cache-adapterdrizzle-orm >= 0.44.0is a peer dependency. -
Bind a KV namespace in your Wrangler config:
[[kv_namespaces]]binding = "CACHE"id = "<your-kv-namespace-id>"{"kv_namespaces": [{"binding": "CACHE","id": "<your-kv-namespace-id>"}]}Don’t have one yet? Create it:
Terminal window wrangler kv namespace create CACHE -
Wire it into Drizzle
import { drizzle } from 'drizzle-orm/d1'import { cloudflareKVCache } from 'drizzle-cloudflare-kv-cache-adapter'export default {async fetch(request: Request, env: Env) {const db = drizzle(env.DB, {cache: cloudflareKVCache(env.CACHE),})const users = await db.select().from(usersTable).$withCache()return Response.json(users)},} -
Deploy
Terminal window wrangler deploy
That’s it. Continue to Usage for caching strategies and TTLs.