Magento - Magento Cache

时间:2010-09-21 11:40:47

标签: caching magento memcached

我正在使用memcache。

我想了解Magento缓存中存储的内容以及如何?

magento是否存储具有网站范围或存储范围的缓存变量?

我用google搜索并对代码进行了搜索,但无法做出任何结论,

如果有人可以指示我更正链接和路径

谢谢&问候, SAURABH

4 个答案:

答案 0 :(得分:13)

如果您转到管理区域的“缓存管理”部分,您可以看到它缓存的内容(配置,布局配置,块html输出,翻译,eav类型等)。我不是Magento缓存机制的专家,但这里有一些可能有用的随机花絮(也许)。 (另请注意,我只熟悉Magento 1.3.x,而不是1.4.x所以事情本来可以改变。)

缓存实际上存储在var / cache目录中。那里有很多目录(mage-0,mage-1,mage-2),每个目录都有缓存文件。执行ls var/cache/mage*/*查看所有文件。

配置 - 配置的来源各不相同。您的app / etc / local.xml和所有config.xml文件(位于每个模块的etc dir中)组合在一起构成一个大的配置对象。然后Magento从core_config_data表中读取更新配置对象。然后将配置写入缓存文件,以便下次发出请求时,不需要打开大量配置文件并点击数据库。不知何故,这些信息存储在var / cache下的一堆文件中。对于某些见解,请执行ls var/cache/mage*/*CONF*

布局 - 这很像配置...... app / design / frontendOrAdminhtml / yournamespace / layout /目录中有一堆xml文件,所有这些都合并到一个布局配置对象中,然后缓存在缓存目录。

阻止HTML - 缓存块生成的实际html。每个块都能够决定缓存多长时间。

最后,要(不是真的)回答你关于缓存是否是每个网站或商店的问题,我真的不能说,因为我还没有必要设置一个多网站/多商店的商店。看起来可能是某些商店/网站特定的文件,但我看不出它们是按逻辑方式组织的。例如,在我的一个实例中,我看到var / cache / mage - f / mage --- LAYOUT_FRONTEND_STORE0_DEFAULT_BLANK_SEO文件和var / cache / mage - f / mage --- LAYOUT_FRONTEND_STORE1_DEFAULT_BLANK_SEO ......但是我又一次,我只配置了一个商店,这两个文件具有相同的内容。祝你好运!

答案 1 :(得分:1)

您还可以使用一些非常棒的memcached分析和报告工具

http://code.google.com/p/memcached/wiki/Tools

答案 2 :(得分:1)

我提出的最佳解决方案是使用两级缓存。 请参阅app / etc / local.xml.additional以了解如何将memcached服务器节点放在那里。请注意,在<servers>标记内,您必须使用<server1><server2>等标记封装每个memcached节点的设置。

<cache>
    <backend>memcached</backend>
    <slow_backend>database</slow_backend>
</cache>

以这种方式共享所有缓存。

要清除它我的方式是:
关闭阿帕奇 2.连接到mysql并连接到magento db并运行truncate core_cache; truncate core_cache_tag。
然后我反弹了memcached节点 4.我重新启动apache但是我将其保留在负载均衡器之外,直到我至少打了一次才能生成APC操作码缓存。否则负载会从屋顶上升。

这一切看起来都很极端,但我发现它对我有用。使用后端清除缓存非常慢。我在core_cache表中有大约100k个条目,在core_cache_tag中有近100万个条目。如果我不这样做,有时我会有奇怪的行为。

答案 3 :(得分:1)

./app/etc/local/xml中的Memcache配置将决定Memcache实际缓存的内容。

如果您只使用单级缓存(不使用),那么Magento会将其缓存(完整地)存储在Memcache中。

没有定义slow_backend的

HOWEVER - 它是缓存内容,没有cache_tags - 即。无法区分缓存项

EG。配置,块,布局,翻译等。

因此,如果没有定义,您无法单独刷新缓存,事实上,您几乎总是必须依靠“刷新缓存存储”来实际看到更新生效。

我们在这里写了一篇很好的文章,涵盖了你的问题 - http://www.sonassi.com/knowledge-base/magento-knowledge-base/what-is-memcache-actually-caching-in-magento/