8

我了解 Magento 中“Flush Magento Cache”和“Flush Cache Storage”之间的区别(示例)。我正在尝试执行一项会不时刷新缓存存储的 cron 作业。

我假设这个按钮不只是删除 var/cache/ 的内容,但我找不到一个可靠的资源来说明它的作用。我正在使用 APC 以及所有内置的 Magento 缓存功能。

是否可以从脚本中运行相当于“Fluch Cache Storage”按钮的功能?

4

2 回答 2

11

在 中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 文件。

于 2013-02-22T16:24:53.920 回答
3

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

我同意您应该使用以下方法创建 CRON TASK(如果确实需要清理缓存)(如何):

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

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

于 2013-02-22T19:56:15.833 回答