假设你想要做的Rails的一些低级别的缓存(与memcached的,例如)和你想在你的应用程序,比如某个地方只有1电话...Rails 3:放置Rails.cache.fetch“缓存加热器”调用的位置?
Rails.cache.fetch('books', expires_in: 1.day) do
Book.offset(offset)
.limit(limit)
.select('title, author, number_of_pages')
.all
end
...热身缓存当您启动您的应用程序,让您可以只使用一个简单的调用,比如......
Rails.cache.read('books')
... 随时随地并多次在您的应用程序(在视图,控制器,助手。 ..)访问这个“书籍”集合。
一个应该在哪里把最初的“魂”呼,使其工作?
为什么在应用程序启动时这样做?如果您的缓存在1.day中过期,您是不是希望每天运行一次?我会把它包装在一个rake任务中,并用'cron'运行它。 – spike 2013-05-07 17:30:27
@spike - 假设:expires_in的值也可能更长。 (我认为在应用程序启动时这样做是因为我会在其他地方使用较短的“Rails.cache.read”。) – TomDogg 2013-05-07 17:34:04