2012-02-05 18 views
1

私は自分のウェブサイトにキャッシュを追加しようとしていますが、ヘッダーに記録されたユーザーに関する情報をキャッシュする方法やキャッシュしない方法は少し混乱します。 一部のコントローラがbundle:controller:view.twigテンプレートをレンダリングするとします。そして私はコントローラ内でこのビューを1週間キャッシュします。 また、bundle:controller:1ヶ月間キャッシュされた部分を表示する部分も含みます。 view.twigは、認証に応じて 'hello guest'または 'hello [email protected]'と表示されるヘッダセクションを持つbase.twigをいくつか拡張しています。Symfony2でログに記録されたユーザーパネルをキャッシュする

base.twigに 'hello'情報を表示するミニコントローラ(bundle:controller:login_info)を含める必要がありますか?それとも他の簡単な方法がありますか?

答えて

2

Symfony2で使用できるキャッシュにはいくつかの種類があります。内蔵のリバースプロキシHTTPキャッシュがサポートされているため

  • 、あなただけのウェブページ全体をキャッシュすることができます。

  • ページフラグメントをキャッシュする場合は、エッジサイドインクルード(ESI)を使用する必要があります。 "hello guest"の部分だけをキャッシュしないようにしたい場合は、探しているようです。

The chapter about Caching from the Symfony2 book非常によく書かれており、どのようにセットアップアプリケーションのキャッシュのすべての種類(ページ全体またはフラグメントを)に説明しています。

希望に役立ちます!

+0

私はすでにSymfonyの本のキャッシングの章を読んでいます。 2つの最後の質問に答えるだけでいいですか?「helloの情報をbase.twigにレンダリングするミニコントローラ(バンドル:controller:login_info)を含めるべきですか?それとももっと簡単な方法がありますか? –

+0

これはやり方ですが、それが「ベストプラクティス」かどうかはわかりません。 – Quentin

関連する問題