logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll
29/04/2020, by maria

Cache APIはDrupal 8で大幅に改善されました。次のセクションでは、各機能について詳しく説明します。

簡単な概要については、APIドキュメントのCache APIページも参照してください。

キャッシュ可能性メタデータ

直接レンダリングされるもの、または何を表示するかを決定するために使用されるものはすべて、キャッシュのメタデータを提供します - アクセス結果からエンティティやURLまで。

キャッシュのメタデータは3つのプロパティで構成されています:

  • キャッシュタグ

エンティティや設定など、Drupalによって管理されるデータへの依存関係用

  • キャッシュコンテキスト

バリアント用。つまり、リクエストコンテキストへの依存関係

  • キャッシュmax-age

時間に敏感なキャッシュ用。つまり、時間ベースの依存関係

実践:Cache APIを通常どのように使用するか

一般的に、コードはオブジェクト(ブロック、エンティティなど)のレンダリングで終わり、コントローラーはレンダー配列またはレスポンスを返します。したがって、通常はCache APIを直接操作することはありません。代わりに、次を使用します:

レンダリングキャッシュ(フラグメントキャッシュとも呼ばれます)
レンダーAPIは、レンダー配列に組み込まれたキャッシュのメタデータを使用して、キャッシュ(またはレンダリング)を実行します。したがって、Cache APIを使用してレンダーキャッシュを操作すべきではありません(キャッシュアイテムの取得も作成も)。
レンダー配列のキャッシュ可能性を参照してください。

レスポンスキャッシュ
レンダーAPI(前のセクションを参照)によって使用されるキャッシュのメタデータは、CacheableResponseInterfaceを実装するResponseオブジェクト(通常はHtmlResponse)までバブルアップします。
これらのResponseオブジェクトのキャッシュのメタデータにより、Drupal 8にはデフォルトで有効なPage CacheDynamic Page Cacheが付属できます。これらが透過的に動作できるようにするためです:常に最新であり、常に適切にバリエーションします。
CacheableResponseInterfaceを参照してください。