0

aboutページのような静的コンテンツをキャッシュするためのベストプラクティスは何だろうと思っています。この場合、次のようなマッチャーを使用すると、実際のアクションはありません。

match 'about' => 'home#about'

このページ全体をキャッシュできますが、レイアウトにはユーザー セッションに固有のヘッダーが含まれます。したがって、:layout => falseを使用すると、レイアウトだけでなく、アクション内のすべてをキャッシュできるため機能します。

私は使用しました

caches_action :about, :layout => false

HomeController では、サーバーが「レンダリング済み」と報告し、一貫して 300 ~ 400 ミリ秒かかるため、実際にキャッシュしているとは確信していません。

このタイプのコンテンツをキャッシュする一般的な方法は何ですか?

4

1 に答える 1

1

問題は、質問のこの部分です。 ただし、レイアウトには、ユーザー セッションに固有のヘッダーが含まれています。

ユーザーベースごとにページ全体をキャッシュできます。ただし、これは、ページをユーザーごとに 1 回レンダリングする必要があり、ハードドライブに保存する必要があることを意味します。ユースケースによっては、理にかなっている可能性があります。

しかし、10 のうち 9 のケースでは、次のようにして変更されていない部分をフラグメント キャッシュするだけです。

<% cache('about_main') do %>

[...]

<% end %>

さまざまな種類のキャッシュの詳細については、 http: //xyzpub.com/en/ruby-on-rails/3.2/caching.htmlを参照してください。

于 2013-04-16T18:23:46.403 に答える