用途:Vercel KV 是 Redis 兼容的键值存储(通过 Upstash),适用于 Next.js 缓存、会话管理、限流和带 TTL 的临时数据存储,适合作为缓存而非主数据库。
主要能力:提供 setex、get、del、incr、setnx、mget、mset、pipeline 等操作,支持 TTL 过期、原子操作、批量读写、分布式锁、排行榜与会话滑动窗口等模式。免费额度为每月 30,000 次命令、256MB 存储。
使用方式:在 Vercel 控制台创建 KV 数据库(Storage → Create Database → KV),运行 vercel env pull .env.local 获取 KV_REST_API_URL 和 KV_REST_API_TOKEN;安装 bun add @vercel/kv;在 Server Action 或 Edge API Route 中导入 { kv } 使用,例如 kv.incr、kv.setex、kv.get、kv.del。
限制与注意事项:默认不加密存储,不应存敏感数据;临时数据必须设置 TTL,否则永久保留;键名需加命名空间避免冲突;值仅支持 JSON 可序列化类型(不支持函数、循环引用、BigInt);单值大于约 100KB 建议改用 Vercel Blob;不能作为主数据库;.env.local 不应提交。文档列出 10 个已记录的常见问题及修复,并建议调试时参考 known-issues.md 与 common-patterns.md。官方文档见 https://vercel.com/docs/storage/vercel-kv。