第15章 Prisma Accelerate:加速 Serverless 应用的数据库连接与缓存
Prisma Accelerate
Prisma Accelerate 是一个内置连接池的全球数据库缓存服务,可提升 Serverless 和 Edge 应用的数据库性能。
Accelerate 退役通知
Prisma Accelerate(包括为 Prisma Postgres 提供的托管 Accelerate 连接)将于 2026 年 12 月 1 日退役。请根据你的实际情况选择迁移路径:
- 将 PostgreSQL 数据库迁移至 Prisma Postgres
- 保留现有数据库并移除 Accelerate
- 不使用 Accelerate 直接连接 Prisma Postgres
Prisma Accelerate 为你的数据库提供托管的连接池和全球缓存,可与 Prisma ORM 配合使用,支持 PostgreSQL、MySQL、MongoDB 等多种数据库。
通过 Accelerate,Prisma ORM 无需单独部署连接池或缓存层即可获得连接池和查询缓存能力。Prisma Postgres 已内置连接池,但暂不支持查询缓存,短期内也不会加入规划。
连接池:Accelerate 在全球 15+ 个区域维护统一的连接池。这在 serverless 和 edge 环境中尤为重要,因为连接耗尽是这类环境常见的故障原因。只需替换为 Accelerate 连接字符串,Prisma ORM 就会自动通过连接池路由请求。
查询缓存:在任何 Prisma ORM 查询中添加 cacheStrategy,即可通过 TTL 或 stale-while-revalidate 策略在边缘节点缓存查询结果。结果由 300+ 个缓存节点提供,无需再引入 Redis、Memcached 或其他缓存服务。
src/lib/posts.ts
const posts = await prisma.post.findMany({
cacheStrategy: { ttl: 60, swr: 10 }, // 60 秒内直接从缓存返回(TTL);TTL 过期后,最多可在后台重新验证数据的同时返回过期内容 10 秒(SWR)
})
支持的数据库
Accelerate 可以直接对接你现有的数据库,无论是公网可访问,还是通过 IP 白名单方式连接。
- PostgreSQL
- MySQL
- MariaDB
- PlanetScale
- CockroachDB
- MongoDB
入门指南
- 入门指南 — 了解如何快速上手 Prisma Accelerate
- 本地开发 — 了解如何在开发环境中使用 Prisma Accelerate
- 示例 — 查看可直接运行的 Prisma Accelerate 示例
在 GitHub 上编辑
入门指南
了解如何快速上手 Prisma Accelerate