【发布时间】:2011-01-24 12:54:35
【问题描述】:
目前在 memcached 中存储 ActiveRecord 对象存在两个问题。
未定义的类/模块问题 (Google search)。根据我的阅读,这仍然是一个没有人有真正好的解决方案的错误。 cache_fu 插件可能有最好的解决方案,将它的检索调用包装在一个块中,试图捕获这个错误,解析消息并尝试加载未定义的类/模块。
臭名昭著的 LH 票 #1339 (LH Ticket)。仅当您将 cache_classes 设置为 FALSE(开发、测试)时才会发生此错误。
在谷歌上搜索了数周后,我仍然没有找到一种在 memcached 中存储 AR 实例而无需处理上面列出的 2 个问题的好方法。
我还没有尝试过的想法是将实例中的属性作为字符串删除(就像 AR 在进行类型转换之前如何从数据库接收它们),将它们存储在 memcached 中,然后以某种方式从缓存中检索使用这些值实例化一个 AR 对象。这可能吗?如果是这样,最好的方法是什么?
我只是在寻找其他 Rails 开发人员解决此问题的方法。
【问题讨论】:
标签: ruby-on-rails activerecord caching memcached