2013-02-22 8 views
7

capisco la differenza tra "Flush Magento Cache" e "Flush Cache Storage" in Magento (example). Sto cercando di lavorare su un job cron che svuotare la memoria cache di tanto in tanto.Magento "Flush Cache Storage"

sto supponendo che questo pulsante non si limita a rimuovere il contenuto della var/cache /, ma non riesco a trovare una risorsa solida che dice ciò che fa. Sto usando APC, nonché tutte le caratteristiche insite di cache di Magento.

E 'possibile eseguire l'equivalente del tasto "Fluch Cache Storage" da uno script?

risposta

10

Nel app/code/core/Mage/Adminhtml/controllers/CacheController.php, è possibile vedere che flushAllAction() (l'azione che viene chiamata quando si fa clic su Flush Cache Storage) viene chiamato.

Questa funzione contiene il seguente:

/** 
* 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('*/*'); 
} 

Per chiamare questo nel proprio file, è possibile effettuare le seguenti operazioni.

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

Ora è possibile eseguire il file php utilizzando un cronjob.

3

here è possibile trovare una buona spiegazione per quanto riguarda la differenza tra "Flush Cache Storage" e "Flush Magento Cache".

Sono d'accordo che è necessario creare CRON TASK (se la cache pulita è davvero necessario) (how to) con il metodo:

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

Se avete bisogno di ulteriore aiuto, non esitate a chiedere.