【问题标题】:Magento- Memcache errorMagento-Memcache 错误
【发布时间】:2011-11-29 13:41:34
【问题描述】:

我的服务器上的 memcached 存在一些问题。它似乎已全部安装并正确运行(telnet localhost 11211 - stats 显示一切正常)。但是,当我在 Magento 中启用它时,它似乎使用了一个旧缓存,其中包含支付页面上的错误。如果我在 Magento 中禁用 memcached(通过删除 local.xml 中的 xml),则结帐再次正常工作。 我试过flush_all,也试过让memcached关闭几天,但错误不断出现。

我认为出现错误缓存是因为我第一次启用 memcached 时我的网站出现了错误。所以我更正了错误并重新启用了 memcached……

我可以完全清除 memcached 使其不使用旧缓存吗?我的配置不正确吗?

这是我在 local.xml 中使用的代码

<cache>
    <prefix>alphanumeric</prefix>
    <backend>memcached</backend><!-- apc / memcached / empty=file -->
    <memcached><!-- memcached cache backend related config -->
        <servers><!-- any number of server nodes can be included -->
            <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> 

谢谢

【问题讨论】:

  • 远程登录并发出flush_all 应该使缓存无效。您是否通过系统 > 缓存管理清除了 Magento 缓存?
  • 好吧,我想知道是否还需要刷新 magento 缓存。两者有关系吗?
  • 是的,但是当您 telnet 并选择 flush_all 时,这应该是权威的并且等于单击“刷新缓存存储”按钮。
  • Magento 使用 2 级缓存。也许它清理了慢速后端(我想在你的情况下是文件)但是当你从 magento 管理员中使缓存失效时没有清理快速后端(memcache)。尝试从管理员中使缓存无效并使用@Ben 建议通过 telnet 手动清理 memcached 缓存。
  • @sulman,你启用“编译”功能了吗?如果是这样,首先停止 memcache,通过 ssh 清除 var/cache 目录,然后禁用“编译”选项。之后,您可以再次启动 memcache。有时,我的 linux 服务器也会遇到同样的问题。

标签: magento memcached


【解决方案1】:

由于您的配置中缺少 2 级缓存,您的问题听起来像是过时的缓存。

永久清除 Memcache 的最简单方法是重新启动守护程序。它是一种非持久性存储机制,因此其内容会在实例重启时丢失。

我强烈建议阅读此http://www.sonassi.com/knowledge-base/magento-kb/what-is-memcache-actually-caching-in-magento/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2011-11-05
    • 2019-01-08
    • 1970-01-01
    • 2015-10-13
    • 2010-12-26
    相关资源
    最近更新 更多