如何防止 Magento 2 为价格创建巨大的 block_html 缓存?

问题描述

我们有一个 Magento 2.4.1 网上商店,其中包含大约 2 万种可配置产品(大约有 8 万种产品变体),并且访问量很大。并且我们无法将其置于生产模式,因为每次我们启用 block_html 缓存时最多大约半小时后站点就会停止工作。

我们发现这是因为缓存变得太大(例如 80GB 或更多)并且变得无法使用。唯一真正大的文件是缓存的价格块。

例如:名为 mage---1c5_BLOCK_6A0165A884755D2E8682776C158AE1628208D206_94647_FINAL_PRICE_LIST_CATEGORY_PAGE_RSD_20201225_1_0_文件大约有 24MB 大,其中大部分内容(超过 99%)是具有如下内容的 json 对象:

{"id":"script-src","hosts":[],"hashes":{"9N89WMndeXJQQmez3zcXupuWhb0jRtPuHYgRtBa1Cjo=":"sha256"}}

在同一个缓存文件中,有数千条记录,例如这个,具有不同的“散列”字段值。

最后,在文件末尾,缓存的内容如下所示:

"html":"<div class=\"price-Box price-final_price\" data-role=\"priceBox\" data-product-id=\"94647\" data-price-Box=\"product-id-94647\"><span class=\"normal-price\">\n    \n\n<span class=\"price-container price-final_price&#x20;tax&#x20;weee\"\n        >\n            <span class=\"price-label\">Sni\u017eenje<\/span>\n        <span  id=\"product-price-94647\"                data-price-amount=\"53592\"\n        data-price-type=\"finalPrice\"\n        class=\"price-wrapper \"\n    ><span class=\"price\">53.592,00\u00a0din.<\/span><\/span>\n        <\/span>\n<\/span>\n\n\n<\/div>"

我猜这与某些 CSP 规则或类似规则有关,但我不知道如何阻止这种情况发生。我必须让缓存正常工作,以便我们可以切换到生产模式。

感谢任何帮助...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)