大家好,我正在寻找一个缓存解决方案,可以让我们更快地看到我们在整个网站上所做的更改。目前,我们有一个缓存,每天上午1点定期运行。我的问题是,如果我想在网站上进行更改,如目录价格规则,块更改和类别更新,我没有看到这一点,直到第二天。理想情况下,我会立即看到这些变化。提前感谢任何提示。Ronnie
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中可用的所有缓存类型只清理你需要的那些,而不是每一个
$types
e5nqia272#
在Magento 2中快速缓存的一个解决方案是使用缓存扩展或模块。有几个选项可用,如“全页缓存”和“缓存预热”,这可以通过缓存页面和预热该高速缓存来帮助提高网站的速度。此外,您还可以配置Magento的内置缓存选项,以更好地满足您的需要。这可以通过进入Magento后端,导航到 * 系统〉缓存管理 * 并调整不同类型的缓存设置(例如布局,块HTML输出等)来完成。另一个选项是使用像Varnish或Redis这样的缓存服务来处理缓存。
2条答案
按热度按时间j8ag8udp1#
为此,您必须以编程方式清除它并刷新该高速缓存
你可以在magento2中做到这一点,但是你必须在你的代码中手工完成
这样做的方法是:
1.将这些类注入到构造函数依赖项中
2.在类内部编写此代码
在
$types
数组中,您拥有要清理的所有缓存类型此外,magento 2有区域,所以,你有缓存类型和前端池缓存类型以及。
这将刷新您在
$types
数组中输入的所有类型。查看magento文档了解here中可用的所有缓存类型
只清理你需要的那些,而不是每一个
e5nqia272#
在Magento 2中快速缓存的一个解决方案是使用缓存扩展或模块。有几个选项可用,如“全页缓存”和“缓存预热”,这可以通过缓存页面和预热该高速缓存来帮助提高网站的速度。
此外,您还可以配置Magento的内置缓存选项,以更好地满足您的需要。这可以通过进入Magento后端,导航到 * 系统〉缓存管理 * 并调整不同类型的缓存设置(例如布局,块HTML输出等)来完成。另一个选项是使用像Varnish或Redis这样的缓存服务来处理缓存。