Я пытаюсь кэшировать блок, который отображает меню (например, модуль из 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 или без
, спасибо