【问题标题】:Changing Memcache serializer更改 Memcache 序列化程序
【发布时间】:2014-07-17 10:53:16
【问题描述】:

我想更改默认 Memcache 序列化程序 (Memcached::SERIALIZER_PHP),方法是在已包含缓存的服务器中将其替换为 Igbinary (Memcached::SERIALIZER_IGBINARY)。

如果我进行更改,我认为 Memcache 服务器会尝试使用 Igbinary 对旧缓存进行反序列化,因此会崩溃。

这个假设正确吗?是否需要执行flush_all 操作以避免错误?

【问题讨论】:

  • 我不确定你想做什么,但是flush_all会通过将有效期设置为现在将所有条目标记为无效。如果这对您来说是可以接受的,那么它可能是一个解决方案。
  • 我想更改序列化程序,不知道是否绝对必要执行flush_all
  • 它认为没有选项可以“即时”执行此操作。但是您当然可以通过脚本更新(反序列化(旧方式)/序列化(新方式))每个条目。如果您可以接受重建缓存,flush_all 就不那么复杂了。
  • @marfis 我更喜欢使所有缓存失效,因为它更容易而且我可以假设它。谢谢!
  • 好的,不客气。

标签: php serialization memcached igbinary


【解决方案1】:

没错。如果您更改 Memcached 序列化程序,则所有现有条目都不兼容。您需要执行flush_all 才能按照您提到的方式重新开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-16
    • 2015-02-12
    • 2014-09-30
    • 1970-01-01
    • 2012-11-14
    • 2012-02-29
    • 2015-03-04
    • 2023-03-18
    相关资源
    最近更新 更多