使用ActiveRecord的查询缓存进行非查询缓存

时间:2013-01-15 19:41:02

标签: ruby-on-rails ruby-on-rails-3 caching rails-activerecord

在ActiveRecord的查询缓存中存储特定于请求的数据有多合适?我看待它的方式,他们已经完成了所有艰苦的工作,比如使其成为线程安全的等等。

ActiveRecord::Base.connection.query_cache['some']['var'] = 42

还有这个,但它不是线程安全的:https://github.com/tricycle/rack-per_request_cache

1 个答案:

答案 0 :(得分:0)

最好使用ActiveSupport::Cache::Store。下面的示例显示了一个内存存储,但Rails还提供了其他支持,包括memcached。

cache = ActiveSupport::Cache::MemoryStore.new

cache.read("city")   # => nil
cache.write("city", "Duckburgh")
cache.read("city")   # => "Duckburgh"

文档:http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html