本文介绍了如果具有revalid值的Next.js ISR在生产中为1秒,会发生什么情况?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我致力于创建一个拥有数百个博客页面的公司简介。在nextjs中,我使用ISR,路由器是";Catch All router";,这意味着我将在一个文件page / [[...path.js]]中创建所有页面&;blog。并且我使用重新验证1秒来更新网站。

我的问题是,如果我在生产环境中使用revalid值为1秒来构建整个页面,这并不重要?是不是做得不好?但到目前为止,在生产中重新验证1没有问题。

推荐答案

可以将其设置为对您的使用有意义的数字。监控您的账单和对资源的影响-根据事实做出决定。一般来说,博客不需要近乎实时的更新-但如果对底线的影响可以忽略不计-那就无关紧要了。

只需知道,如果您的站点获得了不错的流量,如果您在一秒钟内拥有它,您将永远不会停止破坏缓存和重新构建页面/缓存(发出很多请求)。但是,此方法可能比每个用户1个请求(SSR)更具成本效益。

客观地说,通过网络挂钩也可以在2到3分钟内构建几百个页面,现实地说,SSG仍然是一个有效的选择。

下面是重新验证时间为1秒的recapISR流程。

  1. Next.js可以定义每页的重新验证时间(例如1秒)。
  2. 对产品页的初始请求将显示缓存的页。
  3. 博客帖子的数据在CMS中更新。
  4. 在初始请求之后、%1秒窗口之前对页面的任何请求都将显示缓存(陈旧)页面。
  5. 在1秒窗口之后,下一个请求仍将显示缓存(陈旧)页面。Next.js在后台触发页面重新生成。
  6. 页面生成成功后,Next.js将使缓存失效,并显示更新后的产品页面。如果后台重新生成失败,旧页面保持不变。

这篇关于如果具有revalid值的Next.js ISR在生产中为1秒,会发生什么情况?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 09:38