Magento кеш - правило для очистки кеша

Я пытаюсь кэшировать блок, который отображает меню (например, модуль из Cmssmart_megamenu).

Предыдущая версия была:

<block type="megamenu/navigation"  name="catalog.topnav.megamenu">
    <action method="unsetData"><key>cache_lifetime</key></action>
    <action method="unsetData"><key>cache_tags</key></action>
</block>

Таким образом, автор явно отключил кеш. Я удалил 2 unsetData и добавил метод _construct () в классе Cmsmart_Megamenu_Block_Navigation.

class Cmsmart_Megamenu_Block_Navigation extends Mage_Catalog_Block_Navigation
{

protected function _construct()
  $this->addData(array(
    'cache_lifetime' => 86400,
    'cache_key'      => "my_key_mega_menu",
    'cache_tags'        => array(Mage_Catalog_Model_Category::CACHE_TAG, Mage_Cms_Model_Block::CACHE_TAG)
));

Похоже, это работает, я вижу файл кэша: mage --- 8ea_MY_KEY_MEGA_MENU. в var / cache. Однако он исчезает из кеша через минуту. На самом деле, как только начинается следующий cron (он запланирован каждые mn)

Я использовал Aoe-template_hint, и я вижу зеленое поле для этого блока, то есть он кэшируется, а время жизни также установлено на 86400 Так что же не так?

Это моя первая попытка, что, по-вашему, здесь не так? Есть ли другое правило, кроме продолжительности истечения срока действия файла? Может быть, есть скрытая ссылка с другим блоком, срок действия которого истекает раньше? в любом случае странный кеш размером менее 1 млн ...

Примечание: у меня та же проблема в Windows или Linux, с Redis или без

, спасибо

10
задан Rod 29 February 2016 в 13:10
поделиться