首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Magento缓存预热

Magento缓存预热
EN

Stack Overflow用户
提问于 2013-01-16 23:44:43
回答 1查看 3.4K关注 0票数 3

我和我的团队正在Magento企业版上迅速推出新的存储和视图,但我们遇到了缓存问题。需要明确的是,缓存部分本身工作得很好。我们有几个复杂的产品,大约需要17秒来构建,但在其缓存后,页面加载只需300ms,这真是太棒了!不幸的是,如果我们在任何严重的负载(高流量)下清除缓存,我们似乎正在经历缓存未命中风暴,其中每个页面请求都试图填充缓存,导致我们的webhead在平均负载高于50的情况下停止工作。

你有什么建议来避免这种情况吗?是否有为新代码部署预热缓存或仅针对内容和配置更改预热缓存的最佳实践?

这可能是相关的,所以我将包括它:在单击按钮刷新缓存之后,在刷新过程完成之前,前端芯片上的大多数页面都有500个错误代码和看似随机的错误消息。你知道是什么原因造成的吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-13 23:52:56

我实现了一个解决方案,在CMS块保存后预热缓存。您可以从此解决方案中获得灵感,在不同情况下执行相同的操作(产品保存、CMS块、CMS页面、类别保存等)

这段代码可以在使用观察者cms_block_save_after保存CMS块后触发

代码语言:javascript
运行
复制
/**
 * Clean targeted cache block and warmup if content is provided
 */
public function clearBlockHtmlCache(Varien_Event_Observer $observer)
{

    $block = $observer->getEvent()->getObject();

    $id = $block->getCacheKey();

    // Remove only specific cache block
    Mage::app()->getCacheInstance()->getFrontend()->remove(strtoupper($id));

    // no print, it's ok just warmup cache with filters processing
    $block->toHtml();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14362263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档