Magento 2 FPC 在库存更新后完全清除(REST API)

Posted

技术标签:

【中文标题】Magento 2 FPC 在库存更新后完全清除(REST API)【英文标题】:Magento 2 FPC gets cleared completely after stock update (REST API) 【发布时间】:2021-12-12 20:23:00 【问题描述】:

我们使用 M2.4.2 我们每 15 分钟通过 REST API 同步我们的库存数量。导致的问题是所有页面(类别、产品、cms)的完整页面缓存(内置)每 15 分钟刷新一次。似乎当订单标记为已发货时也会发生这种情况(但不是绝对确定)。 我们寻找一种避免自动缓存刷新的解决方案。最好的情况是只有更改数量的产品缓存及其父产品被刷新。

我们不需要刷新类别页面。仅更改数量的产品。

似乎其他一些人也面临同样的问题。这里有人说它与顶部菜单有关:https://github.com/magento/magento2/issues/21385 或者这里有人试图停止缓存,只在需要时刷新:Magento 2 Rest Api is clearing cache too frequently on product updates 但没有真正有效的解决方案。 我看了看模块InventoryCache,PageCache,但没有找到合适的起点

有人有解决办法吗?

【问题讨论】:

【参考方案1】:

在 Magento 中,当针对 QTY 或任何其他操作编辑产品时,关联的 Mview 表值和 CL 表会受到影响。

当 Cron 运行时,它会检查这些表,并根据 Mview 表上的版本和 CL 表产品中的条目进行索引。

当一个产品被索引时,它的所有缓存都会被刷新。 此外,类别页面具有关联的产品 ID 标签,因此这些缓存也会被清除。

在保存时设置索引而不是按计划索引。 看看这是否有效,但它可能有其自身的副作用,因为当您导入索引时可能不会发生。

还分享一下与库存相关的设置。

【讨论】:

以上是关于Magento 2 FPC 在库存更新后完全清除(REST API)的主要内容,如果未能解决你的问题,请参考以下文章

在多种货币之间切换时,Magento Enterprise 整页缓存(FPC)购物车侧边栏问题

Magento 1修改与库存更新相关的产品属性

商品放入购物车时减库存,购物车在20分钟后,清除所有商品,这个时候库存重新加上去,PHP怎么实现?

503 清除缓存后 Magento 服务暂时不可用

如何在magento中对库存状态的产品集合进行排序

Magento2 Cache HolePunch 定价