在 Rails 3.0/3.1 中,我应该如何缓存应用程序范围内所需的不变数据?



我有一些合理的复杂数据,我需要使用大量的请求。它由不同ActiveRecord模型对象的散列组成(尽管我只能缓存我需要的属性,而不是整个对象)。

我需要经常访问数据,似乎很自然地缓存它。它可能不经常改变,但不会经常改变。如果数据发生了变化,我需要能够重新加载数据,但一般来说,数据似乎最好作为缓存。

我目前没有使用memcached,而且开始只使用一条数据似乎有点多余。

我有一些想法,也尝试过一些东西,但我想得到更广泛的建议。

class MyModel < ActiveRecord::Base
  def self.my_cached_hash
    @my_cached_hash ||= get_my_cached_hash_here
  end
  def self.reset_my_cached_hash
    @my_cached_hash = nil
  end
end

Memcached和memcache-client是最明显的,但也有其他选项,如cachetastic。查看ruby toolbox之类的东西,看看社区还喜欢什么…

最新更新