几个月前,我使用 Next.js 构建了一个基本的 CRUD 应用程序并将其部署在 Vercel 上。最初,我遇到了 GET API 的缓存问题。当我添加新数据并刷新页面时,旧数据仍然会显示,而新条目不会立即显示。经过一番研究,我发现添加
cache: 'no-store'
调用API时可以防止这个缓存问题,当时效果很好。
但是,我最近注意到 Vercel 上不再存在缓存问题,即使我不包括
cache: 'no-store'
在我的 API 请求中。现在,刷新后立即显示最新数据,没有任何缓存问题。
我很好奇——发生这种情况是由于 Next.js 或 Vercel 最近的更新吗? GET 请求缓存行为似乎发生了变化,是否有具体原因?
任何有关此问题为何自行解决的见解都会非常有帮助。
假设您已更新到 Next 15,默认情况下不再启用缓存。
https://nextjs.org/blog/next-15#get-route-handlers-are-no-longer-cached-by-default