需要Magento 2缓存解决方案

时间:2018-02-26 16:21:00

标签: magento caching

您好我正在寻找一种缓存解决方案,它可以让我们更快地看到我们在网站上所做的更改。目前我们有一个每天凌晨1点运行的缓存。我遇到的问题是,如果我想在网站上进行更改,例如目录价格规则,阻止更改和类别更新,我直到第二天才会看到这一点。

理想情况下,我会立即看到这些变化。提前感谢任何提示。 罗尼

1 个答案:

答案 0 :(得分:0)

要执行此操作,您必须以编程方式清理它并刷新缓存

您可以在magento 2中执行此操作,但必须在代码中手动执行此操作

这样做的方法是:

<强> 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也有区域,你也有缓存tyes和前端池缓存类型。

这将刷新您在$types数组中输入的所有类型。

检查magento文档,了解here

中提供的所有缓存类型

只清理你需要的那些,而不是每一个