2012-01-02 37 views

Odpowiedz

14

spróbować

Mage::app()->cleanCache(); 
14

To właśnie jesteś po:

try { 
    $allTypes = Mage::app()->useCache(); 
    foreach($allTypes as $type => $blah) { 
     Mage::app()->getCacheInstance()->cleanType($type); 
    } 
    } catch (Exception $e) { 
    // do something 
    error_log($e->getMessage()); 
    } 

Oto jak można to zrobić automatycznie:

http://mikebywaters.wordpress.com/2011/12/09/automatically-refresh-magento-cache/

+0

Proszę rozważyć konto na Twitterze dla blogi ogłoszeń :) – Zifius

+3

@Zifius Właśnie to zrobił :) http://twitter.com/mikebywaters –

3

Jeżeli jesteś używając Magento Enterprise (używam wersji 1.1 3), powyższy kod we wspomnianych wyżej odpowiedziach nie wydaje się wystarczający do opróżnienia pełnej pamięci podręcznej strony.

Zajęło mi trochę czasu, aby dowiedzieć się, co się dzieje, ale istnieje kilka metod, które uruchamiają się w wyniku zdarzeń podczas korzystania z interfejsu internetowego, które nie zostały objęte przy użyciu powyższego kodu. Krytyczne znaczenie ma metoda cleanCache.

Aby naprawić, dodałem następujący kod po kodzie Magento Guy lub Oğuz Çelikdemir.

Enterprise_PageCache_Model_Cache::getCacheInstance() ->clean(Enterprise_PageCache_Model_Processor::CACHE_TAG);

Nadzieja ktoś oszczędza trochę czasu!

0

Aby rozwiązać problem, możesz napisać skrypt basha, który wyczyści dane z pamięci podręcznej i sesji.

Magento Cache Syrup - Prosty skrypt bash do czyszczenia pamięci podręcznej magento, sesji, raportów i tymczasowych danych w sposób sys-admin, aby upewnić się, że strona internetowa magento działa lepiej.

Ten skrypt wyczyści dane z pamięci podręcznej i sesji z instalacji Magento na serwerze Linux (ubuntu), aby upewnić się, że rozwiązuje problem z pustą białą stroną Magento spowodowany przez dane z pamięci podręcznej i sesji oraz zapewnia szybsze działanie witryny Magento. Zaloguj się na swój serwer jako root i utwórz plik o nazwie magento_cache_syrup.sh i wprowadź poniższy kod.

#!/bin/sh 
rm -rf /var/www/sl60/var/cache/* 
rm -rf /var/www/sl60/var/session/* 
rm -rf /var/www/sl60/var/report/* 

Upewnij się, że zmieniłeś ścieżkę w powyższym kodzie i wskazałeś ją swojej instalacji Magento. Dla absolutnie początkujących po prostu zamień "/ var/www/sl60" na ścieżkę do twojego katalogu strony magento.

Po skorygowaniu ścieżki można po prostu uruchomić powyższy skrypt, wywołując go z terminala.

Powoduje wyczyszczenie wszystkich danych w katalogach pamięci podręcznej, sesji, tmp i raportów w instalacji Magento. Ale problem tutaj się nie kończy. Musimy się upewnić, że robimy to za każdym razem, zanim osiągniemy pustą białą stronę. Aby rozwiązać ten problem, udostępnimy zadanie crona na serwerze, które uruchamia skrypt bash (magento-cache-syrup) co 12 godzin.

Utwórz cronjob uruchomić skrypt bash co 12 godzin

Powiązane problemy