2013-02-22 107 views
7

我明白了“同花顺的Magento缓存”和“清除缓存存储”之间在Magento(example)的差异。我正在尝试使用cron作业来刷新缓存存储。Magento的“清除缓存存储”

我假设,这个按钮不只是删除VAR /缓存/的内容,但我找不到,说什么它做了坚实的资源。我正在使用APC以及所有内置的Magento缓存功能。

是否可以运行“Fluch缓存存储”按钮,从脚本相同呢?

回答

10

app/code/core/Mage/Adminhtml/controllers/CacheController.php中,您可以看到flushAllAction()(单击Flush Cache Storage时调用的操作)被调用。

此功能包含以下内容:

/** 
* Flush cache storage 
*/ 
public function flushAllAction() 
{ 
    Mage::dispatchEvent('adminhtml_cache_flush_all'); 
    Mage::app()->getCacheInstance()->flush(); 
    $this->_getSession()->addSuccess(Mage::helper('adminhtml')->__("The cache storage has been flushed.")); 
    $this->_redirect('*/*'); 
} 

要在自己的文件中调用这个,你可以做到以下几点。

require_once('app/Mage.php'); 
Mage::app()->getCacheInstance()->flush(); 

现在,您可以使用cronjob运行您的php文件。

3

here你可以找到关于“清除缓存存储”和“刷新Magento的缓存”之间的区别很好的解释。

我同意,你应该有方法来创建定期任务(如果干净的缓存是真的有必要)(how to):

public function flushAllAction() 
{ 
    // Additional code if necessary 
    Mage::app()->getCacheInstance()->flush(); 
    // Additional code if necessary 
} 

如果您需要进一步的帮助,请不要犹豫,问。