2013-04-13 122 views
0

我想知道最佳做法是什麼緩存像關於頁面的靜態內容。在這種情況下,如果使用匹配像Rails 3.2動作緩存/靜態頁面

match 'about' => 'home#about' 

這整個頁面可以被緩存,除了佈局包括報頭是唯一的用戶會話有可能是實際行動。因此,使用:layout => false會工作,因爲所有動作可以緩存,而不是佈局。

我用

caches_action :about, :layout => false 
在HomeController的

,但我不認爲它實際上是作爲高速緩存服務器報告「渲染」,它始終需要300-400ms。

這種類型的內容緩存的典型方式是什麼?

回答

1

對你的問題是你的問題的這部分:除了 ,佈局包括報頭是唯一的用戶會話。

您可以在每個用戶基礎上緩存整個頁面。但是這意味着該頁面必須爲每個用戶渲染一次,並且必須存儲在硬盤上。根據你的用例,這可能是有道理的。

但在9個10情況下,你想通過剛纔的片段緩存中的非變化部分:

<% cache('about_main') do %> 

[...] 

<% end %> 

看一看http://xyzpub.com/en/ruby-on-rails/3.2/caching.html用於關閉不同類型的高速緩存的詳細視圖。