小编Rod*_*Rod的帖子

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>
Run Code Online (Sandbox Code Playgroud)

所以作者明确地禁用了缓存.我删除了2 unsetData,并在Cmsmart_Megamenu_Block_Navigation类中添加了_construct()方法.

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)
));
Run Code Online (Sandbox Code Playgroud)

听起来它有效,我可以看到缓存文件:mage --- 8ea_MY_KEY_MEGA_MENU.在var/cache中.但是,它会在一分钟后从缓存中消失.实际上,一旦下一个cron启动(每隔mn安排一次)

我使用了Aoe-template_hint,我可以看到这个块的绿色框,这意味着它被缓存,生命周期也正确设置为86400,所以有什么不对?

这是我的第一次尝试,你觉得这里有什么不对?是否有其他规则而不是文件的持续时间到期?也许与另一个块的隐藏链接会更快到期?不到1毫米的缓存是奇怪的...

注意:我在Windows或Linux上有相同的问题,有或没有Redis

谢谢

caching magento

10
推荐指数
1
解决办法
361
查看次数

标签 统计

caching ×1

magento ×1