如果在生产中具有 revalidate 值的 Next.js ISR 为 1 秒,会发生什么情况?
IT技术
reactjs
next.js
2021-05-21 05:01:34
1个回答
可以将其设置为对您的使用有意义的数字。监控您的账单和对资源的影响 - 根据事实做出决定。一般来说,博客不需要近乎实时的更新——但如果对底线的影响可以忽略不计——那就无所谓了。
只需知道,如果您的网站获得了不错的流量,您将永远不会停止破坏缓存并重建页面/缓存(发出大量请求),如果您在一秒钟内拥有它。但是,这种方法可能比每个用户 1 个请求 (SSR) 更具成本效益。
客观地说,几百个页面也可以通过 webhook 在大约两到三分钟内构建,实际上,SSG 仍然是一个有效的选择。
以下是重新验证时间为 1 秒的 ISR 流程的回顾。
- Next.js 可以定义每页的重新验证时间(例如 1 秒)。
- 对产品页面的初始请求将显示缓存页面。
- 博客文章的数据在 CMS 中更新。
- 在初始请求之后和 1 秒窗口之前对页面的任何请求都将显示缓存(陈旧)页面。
- 在 1 秒窗口之后,下一个请求仍将显示缓存(陈旧)页面。Next.js 在后台触发页面的重新生成。
- 成功生成页面后,Next.js 将使缓存无效并显示更新后的产品页面。如果后台重新生成失败,则旧页面保持不变。