各ビューにキャッシュ設定があります。これらを設定する必要がありますか、または/ admin / config / development / performanceのコアキャッシングメカニズムがこれの一部を自動的に実行し、ビューのこれらの「余分な設定」はdrupalコアのデフォルトのキャッシング動作をオーバーライドする場合ですか?
各ビューにキャッシュ設定があります。これらを設定する必要がありますか、または/ admin / config / development / performanceのコアキャッシングメカニズムがこれの一部を自動的に実行し、ビューのこれらの「余分な設定」はdrupalコアのデフォルトのキャッシング動作をオーバーライドする場合ですか?
回答:
内容:コアパフォーマンスキャッシングは、URLのキャッシュIDでレンダリングされたページ全体を保存および提供します。ビューのキャッシュはこれを超えて、ビューの出力のみをキャッシュします。
理由:ログインユーザーに最適です。ページ上の他のブロックはより動的な場合がありますが、ビューはすべてのユーザーに対して毎回クエリを実行する必要はありません。
設定:「レンダリングされた出力」をクエリよりも新鮮にすることは、コンテンツを新規としてマークする場合や、単に一致させる場合に役立ちます。
大きな画像: Drupalはページを動的に提供し、サーバーを使用してPHPでページを構築し、データベース(またはメモリ内キャッシュ)にアクセスします。これにより、優れた機能とコンテンツエディターの高速化が可能になりますが、キャッシングを理解して適切に行うことがトレードオフになります。
モジュール!
また、コンテンツの編集時にビューキャッシュをクリアする素敵なビューコンテンツキャッシュモジュールもあります。さらに先に進みたい場合は、キャッシュアクションもチェックアウトすることをお勧めします。これを調整するルールをお勧めします。
さらに、Blockcache Alterでは、サイトの各ブロックに「ロールごと」、ページ、ユーザーなどのキャッシュオプションを設定できます。
ページマネージャーとパネルを追加することもできます。これにより、キャッシュを「ユーザーごと」、「ロールごと」に設定したり、その他の非常に便利な構成を設定したりするなど、興味深いことができます。個人的にはパネルを避けていますが。
ドキュメント:キャッシュとパフォーマンス全般については、Drupal.orgページをご覧ください。
ビューはDrupalキャッシュAPIを使用しますが、通常のDrupalページ/ブロックキャッシュとは関係のない独自のキャッシュを作成します。
ビューは、レンダリングされたビュー自体とともにビュー定義自体をキャッシュします。レンダリングされたビューは、クエリ結果またはビューの実際のHTMLの2つの方法でキャッシュできます。通常、これは最も効果的なパフォーマンスであるため、出力されたHTMLをキャッシュします。ログインしているユーザーに基づいて出力を変更したい場合には、クエリのキャッシュも非常に効果的です。
ビューを使用してキャッシュを保存するテーブルは次のとおりです。
cache_views
cache_views_data