繁体   English   中英

如果在生产中重新验证值为 1 秒的 Next.js ISR 会发生什么?

[英]What happens if Next.js ISR with the revalidate value is 1 second in Production?

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

我的问题是,如果我在生产中使用 Revalidate value is 1 seconds 来构建整个页面并不重要? 这是不好的做法吗? 但到目前为止,1s 在生产中重新验证没有问题。

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

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

客观地说,几百页也可以通过 webhook 在大约两到三分钟内构建,实际上,SSG 仍然是一个有效的选择。

这是 ISR 流程的回顾,重新验证时间为 1 秒。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM