在请求之间缓存Rails模型 - 糟糕的主意?

时间:2011-08-15 14:07:41

标签: ruby-on-rails caching activerecord

我有一个在每个页面上执行的复杂查询,其结果很少发生变化,因此我想将其缓存在memcached中,并在需要更新时手动将其过期。最简单的方法是缓存生成的模型对象本身。但我看到模糊的警告,Active Record模型不应该在请求之间保留,因为Bad Things可能会发生。

这是真的吗?在请求之间是否有任何体面的模型行为?如果这是一个坏主意,那么一些相应的好主意是什么?

我知道Devise使用ActiveSupport :: Dependencies :: Reference来缓存对类的引用,但我无法在任何地方找到任何文档,我不知道这是我想要的还是为什么。

1 个答案:

答案 0 :(得分:1)

缓存查询完全没问题。请记住你做的事情。

可以在heroku's documentation中找到一个例子。

BTW请记住Rails already do SQL caching