目前在 memcached 中存储 ActiveRecord 对象存在两个问题。
在谷歌上搜索了几周后,我仍然没有找到一种在 memcached 中存储 AR 实例而无需处理上面列出的 2 个问题的好方法。
我还没有尝试过的想法是将实例中的属性作为字符串删除(就像 AR 在进行类型转换之前如何从数据库接收它们),将它们存储在 memcached 中,然后从缓存中检索,以某种方式实例化 AR使用这些值的对象。这可能吗?如果是这样,最好的方法是什么?
我只是在寻找其他 Rails 开发人员解决这个问题的方法。
最佳答案
在我们的项目中,我们将对象存储为 XML。
cache.write(user.cache_key, user.to_xml) # write to cache
User.new(Hash.from_xml(cache.read(cache_key))) # reach from cache xml
序列化/反序列化 XML 有一些额外的成本。但这使我们能够在非 Ruby 应用程序之间共享缓存。
关于ruby-on-rails - 在 memcached 中存储 ActiveRecord 对象的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2393974/