cms 中的发布更改会使 Hippocms 中的整个缓存无效。是否有任何最佳实践来加热 hippocms 中的缓存?调度程序的缓存预热器不是一个选项。是否可以通过触发缓存失效来预热?
1 回答
目前,页面缓存它的主要目标是成为一个热点页面缓存(例如每秒被请求1000次的主页)并且它提供了一个踩群保护(100个请求同时请求同一个页面:1个请求被执行,所有其他请求都得到相同的响应)由于集群要求并且由于我们不知道在哪个页面上使用了哪些内容,因此页面缓存当前非常不稳定:将页面缓存例如 5 分钟很容易,无论内容更改:但是在集群设置中,这可能会导致在短时间内交替页面,具体取决于您点击的集群节点:这是不可接受的。
这就是它现在的工作方式。对于 11.1,我已经有了一个非常改进的页面缓存解决方案,它仍然使用当前的页面缓存,但添加了二级页面缓存(通常我们通过 redis 进行集群,并且我们还为页面设置了 TTL)和在二级缓存旁边,我们提供了一个陈旧页面缓存:使用陈旧页面缓存,如果同一页面有 100 个请求到达,并且一级或二级缓存中没有有效页面,则 1 个请求通过并建立新的页面,所有其他 99 得到过时的响应。在通过的 1 个请求得到响应后,陈旧的页面缓存条目被清除,每个人都收到非陈旧的页面。请注意,在没有二级缓存的情况下可以支持陈旧页面缓存(也可以在没有陈旧页面支持的情况下进行二级缓存)。二级页面缓存的另一个优点是,如果您将其设为集群(您应该这样做(易于配置选项)),则只有一个集群节点需要创建页面响应。版本 11.1 将附带此改进的页面缓存选项。
希望这可以帮助,
问候阿德