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
}
Если вам нужна дополнительная помощь, не стесняйтесь спрашивать.