Magento "Flush Cache Storage"

Я понимаю разницу между "Flush Magento Cache" и "Flush Cache Storage" в Magento ( пример). Я пытаюсь работать над заданием cron, которое время от времени очищает кэш-память.

Я предполагаю, что эта кнопка не просто удаляет содержимое var/cache/, но я не могу найти надежный ресурс, который говорит, что он делает. Я использую APC, а также все встроенные функции кэширования Magento.

Возможно ли запустить эквивалент скрипта "Fluch Cache Storage" из скрипта?

2 ответа

Решение

В 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();

Теперь вы можете запустить свой php файл с помощью cronjob.

Здесь вы можете найти хорошее объяснение различий между "Flush Cache Storage" и "Flush Magento Cache".

Я согласен, что вы должны создать CRON TASK (если действительно необходим чистый кеш) ( как это сделать) с помощью метода:

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

Если вам нужна дополнительная помощь, не стесняйтесь спрашивать.

Другие вопросы по тегам