Очистить кеш Magento - PullRequest
       2

Очистить кеш Magento

5 голосов
/ 02 января 2012

Я использую Magento ver1.6.1.Мне нужно очистить кеш Magento программным способом.

Mage::app()->getCache()->clean()

Я использовал приведенный выше код, но он не очистил кеш.

Ответы [ 4 ]

14 голосов
/ 03 января 2012

Это то, что вам нужно:

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

Вот как вы сделаете это автоматически:

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

14 голосов
/ 02 января 2012

попробуйте

Mage::app()->cleanCache();
3 голосов
/ 20 августа 2014

Если вы используете Magento Enterprise (я использую 1.13), приведенный выше код в вышеупомянутых ответах кажется недостаточным для очистки полного кэша страниц.

Мне потребовалось некоторое время, чтобы выяснить, что происходит, но есть несколько методов, которые запускаются в результате событий при использовании веб-интерфейса, которые не будут рассмотрены при использовании кода выше. Критически важным является cleanCache метод Enterprise_PageCache_Model_Observer.

Чтобы исправить, я добавил следующий код после кода Magento Guy или Oğuz Çelikdemir.

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

Надеюсь, это сэкономит кому-то время!

0 голосов
/ 06 декабря 2016

Чтобы решить вашу проблему, вы можете написать bash-скрипт, который очищает данные кеша и сессии.

Сироп Magento Cache - простой bash-скрипт для очистки кэша magento, сессии, отчетов и временных данных, способ sys-admin, чтобы убедиться, что ваш сайт magento работает лучше.

Этот скрипт очищает кеш и данные сеанса от установки Magento на сервере Linux (ubuntu), чтобы убедиться, что он устраняет пустую белую страницу Magento, вызванную кешем и данными сеанса, и обеспечивает более быструю работу вашего сайта Magento. Войдите на свой сервер как root и создайте файл с именем magento_cache_syrup.sh и вставьте следующий код.

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

Убедитесь, что вы изменили путь в приведенном выше коде и укажите его для вашей установки magento. Для начинающих просто замените «/ var / www / sl60» на путь к каталогу вашего magento-сайта.

Как только вы исправили путь, вы можете просто запустить вышеуказанный скрипт, вызвав его из терминала.

Это должно очистить все данные в каталогах cache, session, tmp и reports в вашей установке Magento. Но проблема не заканчивается здесь. Нам нужно убедиться, что мы делаем это каждый раз, прежде чем достигнем пустой белой страницы. Чтобы решить эту проблему, мы включим задачу cron на сервере, который запускает скрипт bash (magento-cache-syrup) каждые 12 часов.

Создать cronjob для запуска скрипта bash каждые 12 часов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...