是否有可能使用ISR按需验证与NextJS的多个实例?



我最近遇到了一个问题,在不同的服务器上有2个NextJs实例,并且有一个API用于重新验证路径"/API/revalidate",但问题是当使用服务器的负载均衡器时,我只能到达并重新验证只有一个服务器,另一个服务器仍然会使用旧的html。有办法解决这个问题吗?我使用'generateBuildId'与共享存储使用相同的buildID,但它不适用于静态html。

好的,事实证明,构建实际上是缓存在内存中。可以在"next.config.js":

中使用此命令禁用内存缓存
module.exports = {
experimental: {
// Defaults to 50MB
isrMemoryCacheSize: 0,
},
}

另一个可能的解决方案是覆盖服务器,并实现自定义缓存机制,例如,使用redis缓存html。