0

我有一个电子商务网站,我正在尝试找出如何最好地处理各个产品页面。我希望产品尽可能多的静态生成,并且我知道我可以对大部分页面使用静态生成,但我关心的部分是用户对产品是否有库存有最新的了解。

我知道我可以使用 revalidate 来确保产品信息是最新的,并且可能我会将其设置为 24 小时左右,因为这些很少更改,但我不想将其设置为只有一分钟真正关心的是最新的股票信息。

我觉得解决这个问题的最好方法是结合使用静态生成和客户端获取。除了可以获取客户端的库存之外,我将使用静态生成来提供所有产品信息。我还可以使用 24 小时重新验证来确保其余的产品数据是最新的。但是每次访问页面时都会检查库存。

我使用此资源来更好地了解该怎么做,但它在单个产品页面上说我应该每分钟都使用重新验证,但我认为这太频繁了,因为我们不经常更新,或者有很多客户在寻找每一分钟我们都会得到任何好处的产品。

以前有没有人玩过这个或知道最佳实践可能是什么?

4

1 回答 1

1

我认为这实际上取决于业务需求。根据您提供的信息,股票信息的 24 小时重新验证很少改变,我可以想到几种有意义的方法:

将静态页面与客户端提取一起使用

您可以将静态生成的页面用于具有 24 小时重新验证时间的产品详细信息页面。在客户端,我们可以获取股票信息。如果您在后端有某种用于股票信息的缓存,那么该操作应该非常便宜。

使用没有客户端获取的静态页面

根据您携带的产品数量,缩短重新验证时间可能是有意义的。我说的是10-30分钟。

如果您想进一步优化它,您可以使用您的分析数据来确定用户经常访问的产品,并且只在构建期间生成这些页面。对于其他页面,您可以使用后备选项。这种方法应该允许您在服务器上使用更少的资源,同时提供几乎最新的股票信息。没有额外的客户端获取使源代码复杂化。

于 2021-03-03T22:36:39.963 回答