Ruby on Rails 中文 Wiki
Rails2_0新特性_扩展缓存应用的规模

上个礼拜我指出一项新的 Active Record? 缓存特性 。这项特性帮助你将一个model全部的 Active Record? 调用存入缓存:

User.cache do
  me = User.find(1)   # DB hit
  again = User.find(1)   # Cache hit
end

非常棒!但是它只对包含了缓存代码块的model提供缓存服务。如果您有几行会访问一连串model的代码,则需要写一个全新的缓存声明并且置顶:

ActiveRecord::Base.cache do

  # DB hits
  me = User.find(1)
  companies = Company.find(:all)

  # Cache hits
  me = User.find(1)
  companies = Company.find(:all)

end

那么所有存在于以上代码块以内的model动态存取语句都会被记录到缓存里。

感谢 Yudi 提供本系列文档

原文作者是 Ryan Daigle, 请访问他的博客

本条目被以下条目链接: