【问题标题】:Configure Memcached with Rails 3使用 Rails 3 配置 Memcached
【发布时间】:2011-03-28 07:41:57
【问题描述】:

我在尝试在 Rails 3 应用程序中使用 Memcached 时遇到问题...

我的问题很简单:我应该如何配置 Memcached 以使其与 Rails 3 一起使用?

感谢您的帮助!

编辑:

无论:raw => true 还是:raw => false,看起来对象都没有被Rails.cache.read 正确反序列化,但如果反序列化是在Rails.cache.write 之后完成的,则反序列化工作正常

【问题讨论】:

  • 您的问题究竟是什么?你需要具体。请在此处详细说明,以便我们为您提供帮助。
  • @jpartogi :我自己找到了解决方案。这不是配置错误,但症状让我认为它是。我会发布一个带有解释的回复。谢谢:)

标签: ruby-on-rails configuration memcached ruby-on-rails-3


【解决方案1】:

好吧,

完整的上下文:

序列化对象将他的类放入一个 Lib 文件中。 lib 文件由 rails 使用标准命名约定自动加载。 Rails.cache.read 是我的应用程序中所有操作的第一步(除了第一次创建对象的 init 操作)。 所以,我在任何其他操作上都有错误:undefined method for String。这是因为Rails.cache.read 向我返回了一个字符串(序列化对象)而不是我的对象实例。

解释:

看起来 Marshal 不使用 Rails 系统来查找未声明的常量。因此,当我调用 Rails.cache.read 时,Marshal.load 正在下降,read 正在返回 String 而不会引发任何错误。

解决方案:

我只是在我的应用程序控制器中添加了我的库的load。这样,当Rails.cache.read 调用Marshal.load 时,所有常量都已加载 请注意,我在开发模式下使用load 而不是require,以避免每次修改后都必须重新启动服务器。

希望这会对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2017-07-07
    • 2012-12-03
    • 1970-01-01
    • 2021-10-26
    • 2011-02-13
    • 2012-04-20
    • 1970-01-01
    • 2017-11-14
    • 2014-11-03
    相关资源
    最近更新 更多