【问题标题】:Next.js caching requests to database used in `getStaticPaths` and `getStaticProps` to improve build timeNext.js 缓存对 `getStaticPaths` 和 `getStaticProps` 中使用的数据库的请求,以缩短构建时间
【发布时间】:2020-06-25 17:39:46
【问题描述】:

我有几个动态页面使用完全相同的getStaticPaths,并且还在getStaticProps 中调用完全相同的数据库请求。如何缓存数据库请求的结果,以便在构建不同页面时可以重用它们?我试图添加基本的内存记忆,但它似乎没有多大作用。我的猜测是页面可能会在不同的工作人员中呈现,并且它们不共享内存。

【问题讨论】:

  • 传统缓存(redis、memcache、..)有何不同?
  • 我部署在 Netlify 平台上,除了 Node 运行时,我无法在那里安装其他工具。

标签: next.js


【解决方案1】:

如果您有大量的计算/请求,您可以创建一个助手,从数据库中获取数据并将结果存储在一个临时文件中。因此,您可以检查此文件是否已创建然后读取它,或者它是第一个请求并且需要从数据库中获取数据。

【讨论】:

  • 这就是我最终要做的,但问题是有时两个请求可能同时运行,所以仍然存在双重提取。我想唯一的方法是引入自定义构建步骤并使用数据库结果预填充文件。
猜你喜欢
  • 2020-12-18
  • 2021-05-30
  • 2021-09-10
  • 2021-07-04
  • 1970-01-01
  • 2022-11-02
  • 2020-09-28
  • 1970-01-01
  • 2021-03-30
相关资源
最近更新 更多