假設你想要做的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