插件窝 干货文章 Nextjs 获取数据时的缓存问题

Nextjs 获取数据时的缓存问题

缓存 fetch 请求 next 802    来源:    2024-10-22

介绍

构建应用程序时 next.js 中常见的缓存问题是 next.js 的默认缓存行为,这导致许多开发人员感到沮丧。在很多情况下,缓存通过存储资源副本来帮助加速页面加载并减少服务器负载。
但是,它有时会导致显示过时的内容,这对于动态应用程序(例如添加新博客时显示新博客的博客提要)可能会出现问题。

选择退出数据缓存

next.js 扩展了原生 web fetch() api,允许服务器上的每个请求设置自己的持久缓存语义。

要选择不缓存单个 fetch 请求,您可以将 fetch 中的缓存选项设置为“no-store”。这将根据每个请求动态获取数据。

export default async function Page() {

  const dynamicData = await fetch(`https://...`, { cache: 'no-store' })
  const data = await dynamicData.json()
}

这将有助于覆盖 next.js 的默认缓存行为