我们使用M2.4.2我们每隔15分钟通过REST API同步库存数量。由此产生的问题是,所有页面(类别、产品、cms)的完整页面缓存(内置)每15分钟刷新一次。当订单被标记为已发货时,似乎也会发生这种情况(但不完全确定)。我们寻找一种避免自动刷新缓存的解决方案。最好的情况是,只有更改数量的产品缓存及其父产品被刷新。
我们不需要分类页面被刷新。
似乎其他一些人也面临同样的问题。这里有人说这和顶部的菜单有关:https://github.com/magento/magento2/issues/21385或者有人试图停止缓存,只在需要时刷新:Magento 2 Rest Api在产品更新时过于频繁地清除缓存但没有真正有效的解决方案。我看了看模块InventoryCache, PageCache,但没有找到正确的点开始
有人有解决办法吗?
在Magento中,当产品被编辑为QTY或任何其他操作时,关联的Mview表值和CL表将受到影响。
当Cron运行时,它检查这些表,并根据Mview表的版本和CL表中的条目进行索引。
当一个产品被索引时,它的所有缓存都会被刷新。此外,类别页面有产品ID标签,因此这些缓存也会被清除。
在保存时设置索引而不是在计划时设置索引。看看这是否有效,但它也有自己的副作用,当你导入索引时可能不会发生。
还分享了与库存相关的设置。
编辑:我的问题源于一些设置为按时更新的模块,不幸的是,这些模块不断清除fpc缓存。例如,Amasty排序有效地阻止了FPC完全生成。Swissup Checkout Fields擦除FPC上的订单保存。
FPC实际上是无用的,当你浏览并看到不超过5%的商店URL在被清除之前被缓存。
如果Magento FPC没有持续清除,它绝对会像火箭一样快。但即使是新产品的审查也会清除整个FPC。模块也检查通知擦除FPC。