使用nextjs,一次获取的缓存限制为2MB。然而,我的一些提取大于 2 MB,因此数据不会被缓存,这非常烦人,因为当我通过 Link(动态路由)导航到我的组件时,我再次调用我的 api。提取被称为预加载,但在调用组件时,对于我需要提取此数据的所有相关路由,也会再次调用对 api 的调用。 (所以它对我的 api 进行了 2 次调用,而不是每条路由 0 次)
由于缓存限制,我对 api 进行了数百次调用...您对我的问题有解决方案吗?也许使用其他获取方法?
谢谢大家
尝试减少获取的 json 的大小,但对我来说这不是一个好的解决方案
我使用以下模式修复了它:
let data = await fetch('https://api.vercel.app/blog', { cache: 'no-store' })
希望有帮助。
修复
// Opt out of caching for an individual `fetch` request
fetch(`https://...`, { cache: 'no-store' })
https://nextjs.org/docs/app/building-your-application/caching
// Opt out of caching for all data requests in the route segment
export const dynamic = 'force-dynamic'