情報の一部を読んで翻訳します。 私だけでは役に立たないと思います。 次に、このトピックとフレームワークに関心があるすべての人々について議論し、補完することを提案します
第12章-キャッシュ
Webベースのアプリケーションの動作を高速化する1つの方法は、HTMLドキュメントの一部またはすべてを記憶して、次のリクエストで再発行することです。 この技術はキャッシングと呼ばれます。 サーバー側とクライアント側の両方で使用できます。
symfonyは柔軟なサーバーサイドのキャッシュシステムを提供します。 YAML形式(http://www.yaml.org/)に従って記述されたファイルに、サーバーの完全な応答、アクションの結果、またはテンプレートのフラグメントを保存できます。 データが更新されると、コマンドラインまたは特別なメソッドを介してキャッシュの一部をクリアできます(ここでは、これらの目的のためにrameworkで特別に予約されているメソッドについて話していることに注意してください)。 Symfonyは、HTTP 1.1を使用したクライアント側のキャッシュのための簡単な方法も提供します。 (http://www.w3.org/Protocols/)この章では、上記のキャッシング機能を明らかにし、アプリケーションで実際に使用するためのヒントを提供します。
応答キャッシング
HTMLキャッシュの原理は単純です。ユーザーのリクエストに応じて送信されるHTMLコードの一部またはすべてを、同様のリクエストに繰り返し使用できます。 この目的のためのHTMLコードは、特別な場所( キャッシュ/フォルダー)に保存されます。 クライアントからサーバーへの要求を処理する前に、コントローラーはまず、この特定のフォルダーを表示してデータの可用性を調べます。 キャッシュされたデータが見つかると、サーバー側で追加のアクション(静的)を実行せずに送信されるため、サーバーのプロセッサ時間の負荷が大幅に削減されます。 しかし、データが見つからない場合は、トリガーされたイベントのハンドラーが機能し、応答のデータを形成してキャッシュ/フォルダーに書き込みます。 将来的には、操作全体が繰り返されます。
デフォルトでは、キャッシュはオフです。 使用するには、サイトの管理者権限が必要です(?)
symfonyは3種類のキャッシュをサポートします:
1.イベントキャッシュ
2.部分的なコンポーネントキャッシュ
3.テンプレートスニペットキャッシュ
キャッシュの最初の2つのタイプは、YAMLファイルを使用して管理されます。 テンプレートフラグメントのキャッシュは、テンプレートの補助(?)関数によって制御されます。
グローバルキャッシュ設定
プロジェクト内の各アプリケーション(Symfonyのコンテキスト内)に対して、 settings.yml環境で指示を指定することにより、HTMLキャッシュメカニズムを適用するかどうか(デフォルトでキャッシュは無効になります)
キャッシュメカニズムをアクティブにする方法の例を次に示します。
フロントエンド/ config / settings.yml
開発者:
[タブ] .settings:
[タブ] [タブ]キャッシュ:[タブ] [タブ] [タブ] [タブ]オン
[約。 YAMLの構文を学ぶ]
イベントキャッシュ
静的な情報を表示するイベント(データベースから動的に生成されたデータを除外し、セッションによって異なります)またはデータベースから不変の情報を読み取るアクション(通常はGETリクエスト)は、キャッシュに最適です。 視覚的なフォーム(画像12-1)では、ケースに応じてキャッシュされるページ要素が表示されます:アクションの結果(これはテンプレートです)または結果のアクションと形式。
画像12-1-イベントキャッシング
例として、サイトのすべてのユーザーを返すユーザー/リストイベントを考えます。 ユーザーデータに変更、削除、または追加()の変更がなく、この情報がサイトに頻繁に表示される場合、これはキャッシュについて考える必要がある場合です。
イベントのキャッシュの有効化と設定は、 設定モジュールディレクトリにあるcache.ymlで定義されています/例についてはリスト12-2をご覧ください
リスト12-2
リスト:
[タブ]有効:[タブ]オン
[tab] with_layout:[tab] false [tab]#デフォルト値
[tab] lifetime:[tab] 86400 [tab]#デフォルト値
継続する...