Nextjs 获取缓存最大大小问题,api 调用过多

问题描述 投票:0回答:2

使用nextjs,一次获取的缓存限制为2MB。然而,我的一些提取大于 2 MB,因此数据不会被缓存,这非常烦人,因为当我通过 Link(动态路由)导航到我的组件时,我再次调用我的 api。提取被称为预加载,但在调用组件时,对于我需要提取此数据的所有相关路由,也会再次调用对 api 的调用。 (所以它对我的 api 进行了 2 次调用,而不是每条路由 0 次)

由于缓存限制,我对 api 进行了数百次调用...您对我的问题有解决方案吗?也许使用其他获取方法?

谢谢大家

尝试减少获取的 json 的大小,但对我来说这不是一个好的解决方案

caching next.js fetch size
2个回答
0
投票

我使用以下模式修复了它:

let data = await fetch('https://api.vercel.app/blog', { cache: 'no-store' })

希望有帮助。


-5
投票

修复

// 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'
© www.soinside.com 2019 - 2024. All rights reserved.