ITADN

[FEATURE]: Add Cloudflare KV cache adapter

#5758Openprdai 创建于 2026-05-13
enhancement
P
prdaicommented
### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request ## Describe the enhancement Drizzle currently has first-party query caching support through `upstashCache()` and `.$withCache()`. It would be useful to also have a first-party Cloudflare KV cache adapter for Cloudflare-native apps using Drizzle with D1 / Workers. Example API: ```ts import { cloudflareKVCache } from "drizzle-orm/cache/cloudflare-kv"; const db = drizzle(env.DB, { cache: cloudflareKVCache(env.QUERY_CACHE, { strategy: "explicit", prefix: "drizzle", config: { ex: 300, }, }), }); ```` This would let users cache read-heavy queries without adding Upstash Redis as an extra external dependency when they are already deploying on Cloudflare. This is not asking for KV to become a database driver. It is specifically for Drizzle query caching. KV has some important limitations, so the adapter should document that it is best for stale-tolerant, read-heavy cache use cases. Cloudflare KV is eventually consistent and has a minimum expiration TTL of 60 seconds, so lower TTL values should probably be clamped or rejected with a clear error. Possible implementation: * store query results under keys like `<prefix>:query:<queryHash>` * optionally maintain table/tag index keys for invalidation * support `.$withCache()` * support `db.$cache.invalidate(...)` where practical This would make Drizzle nicer to use in Cloudflare-first stacks using Workers, D1, KV, Durable Objects, and R2.
1 条评论