需要Magento 2缓存解决方案

x8goxv8g  于 2023-01-30  发布在  其他
关注(0)|答案(2)|浏览(215)

大家好,我正在寻找一个缓存解决方案,可以让我们更快地看到我们在整个网站上所做的更改。目前,我们有一个缓存,每天上午1点定期运行。我的问题是,如果我想在网站上进行更改,如目录价格规则,块更改和类别更新,我没有看到这一点,直到第二天。
理想情况下,我会立即看到这些变化。提前感谢任何提示。Ronnie

j8ag8udp

j8ag8udp1#

为此,您必须以编程方式清除它并刷新该高速缓存
你可以在magento2中做到这一点,但是你必须在你的代码中手工完成
这样做的方法是:

1.将这些类注入到构造函数依赖项中

private $_cacheTypeList;
private $_cacheFrontendPool;
public function __construct(
    ...
    \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList,
    \Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool
) {
    ...
    $this->_cacheTypeList = $cacheTypeList;
    $this->_cacheFrontendPool = $cacheFrontendPool;
}

2.在类内部编写此代码

$types = array('config','layout','block_html','collections','reflection','db_ddl','eav','config_integration','config_integration_api','full_page','translate','config_webservice');
foreach ($types as $type) {
    $this->_cacheTypeList->cleanType($type);
}
foreach ($this->_cacheFrontendPool as $cacheFrontend) {
    $cacheFrontend->getBackend()->clean();
}

$types数组中,您拥有要清理的所有缓存类型
此外,magento 2有区域,所以,你有缓存类型和前端池缓存类型以及。
这将刷新您在$types数组中输入的所有类型。
查看magento文档了解here中可用的所有缓存类型
只清理你需要的那些,而不是每一个

e5nqia27

e5nqia272#

在Magento 2中快速缓存的一个解决方案是使用缓存扩展或模块。有几个选项可用,如“全页缓存”和“缓存预热”,这可以通过缓存页面和预热该高速缓存来帮助提高网站的速度。
此外,您还可以配置Magento的内置缓存选项,以更好地满足您的需要。这可以通过进入Magento后端,导航到 * 系统〉缓存管理 * 并调整不同类型的缓存设置(例如布局,块HTML输出等)来完成。另一个选项是使用像Varnish或Redis这样的缓存服务来处理缓存。

相关问题