Reactjs 增量静态再生-重新验证过程

Reactjs 增量静态再生-重新验证过程,reactjs,next.js,Reactjs,Next.js,我有一个关于增量静态再生的问题。据我所知,getStaticProps()函数中的revalidate值告诉NextJS它应该重建页面的时间 关于这一点,我的问题是,从第一个用户/请求到达页面开始,在设定的时间量之后,还是集中的时间量之后,每个用户/请求都会发生这种情况 ############################################# 例如: 重新验证getStaticProps()函数中的值:60秒 用户A点击页面并接收缓存版本。60秒后,NextJS为他重建页面并提

我有一个关于增量静态再生的问题。据我所知,getStaticProps()函数中的revalidate值告诉NextJS它应该重建页面的时间

关于这一点,我的问题是,从第一个用户/请求到达页面开始,在设定的时间量之后,还是集中的时间量之后,每个用户/请求都会发生这种情况

#############################################

例如:

重新验证getStaticProps()函数中的值:60秒

用户A点击页面并接收缓存版本。60秒后,NextJS为他重建页面并提供新内容

用户B在用户A收到缓存版本后不久点击页面,60秒后他也收到更新版本

#############################################

我担心的是,每一个单独的请求都会以自己的60秒的间隔开始重建

我很确定事实并非如此,但由于NextJS对我来说是新事物,我想在把事情搞砸之前把它弄清楚

如果有人能自愿给我一个快速的答复,我将不胜感激。这对我有很大帮助


提前感谢大家

增量静态生成的灵感来源于过时而重新验证,因此没有间隔。
假设我们的重新验证值为60秒:

  • 第一个用户将在10000000000(以毫秒为单位的随机时间)访问页面
  • next.js将缓存到期日期为1000000000的页面
  • 其他用户达到1000000000,缓存有效,不做任何事情(为缓存页面提供服务)
  • 另一个访问者达到100000070000,缓存已过期,next.js将在后台重新验证页面,但用户仍会看到旧页面
  • 最后一个访问者是100000080000,将使用新数据浏览页面
  • 等等
60秒后,NextJS为他重建页面并提供服务 新鲜内容

所以没有这个概念是错误的,next.js不会在n秒后重建页面,
但是对于每个请求,next.js将检查自上次请求以来经过的时间是否>缓存的到期日期。如果重新验证值为1秒,但下一个访问者在1年后出现,则next将在1年后重新生成页面。

首先感谢您的回复!是否可以选择使用SSG(因此不需要ISR使用的自动重新验证)并强制NextJS在给定时间后重建所有页面,而不受缓存年限和请求的影响?就像运行“npm run build”但不杀死活动实例?我不认为有一种本机方法可以做到这一点,但是你可以设置ub cron作业如果你在该页面上每天有1000个访问者,它将构建数千次,从而消耗大量带宽和内存。