2个单独的Magento安装有时使用彼此缓存 - 可能是Memcached问题

时间:2012-02-14 09:05:14

标签: magento memcached

我在我的专用服务器上运行了几个Magento站点。其中2个配置为使用memcached,如下所示:

<cache>
    <prefix>alphanumeric</prefix>
    <backend>memcached</backend>
    <memcached>
        <servers>
            <server>
                <host><![CDATA[127.0.0.1]]></host>
                <port><![CDATA[11211]]></port>
                <persistent><![CDATA[1]]></persistent>
            </server>
        </servers>
    <compression><![CDATA[0]]></compression>
    <cache_dir><![CDATA[]]></cache_dir>
    <hashed_directory_level><![CDATA[]]></hashed_directory_level>
    <hashed_directory_umask><![CDATA[]]></hashed_directory_umask>
    <file_name_prefix><![CDATA[]]></file_name_prefix>
  </memcached>
</cache> 

(两者都在etc / local.xml中使用这个精确的代码)

有时其中一个网站开始使用/查看其他网站缓存。在Magento中刷新缓存可以将所有内容再次排除一两周。

任何人都知道这可能导致什么?我想知道是否需要为每个Magento站点设置不同的前缀?

由于

2 个答案:

答案 0 :(得分:7)

是的,确切地说。您需要为每个实例设置不同的颜色 我通常使用数据库名称,这样就可以保证共享数据库的集群实例共享它。使用不同数据库的单独实例也将拥有自己的缓存池。

但是,当然每个实例的任何唯一前缀都可以使用。

答案 1 :(得分:1)

从未看到Magento能够正确使用前缀。

特别是在您提供的情况下,您应该只运行两个Memcache实例。

  1. 如果要刷新整个缓存,而不删除两个商店的缓存
  2. 如果你的存储空间比另一个存储空间大得多,缓存内容将不断地从缓存中推出(由于Memcache是​​循环的),这使得它对你的一个站点来说是多余的。
  3. 我还强烈建议您阅读此http://www.sonassi.com/knowledge-base/magento-kb/what-is-memcache-actually-caching-in-magento/