web-dev-qa-db-ja.com

ビューのキャッシュでの「クエリ結果」と「レンダリングされた出力」の意味?

以前は、「クエリ結果」と「レンダリングされた出力」のキャッシュを1時間に設定していました。

私が必要なのは:

  • 1時間キャッシュ
  • 関連ノードが更新されたらすぐにキャッシュを更新する

ただし、ノードを更新する場合、ビューページが更新されるまで正確に1時間かかります。

「クエリ結果」と「レンダリングされた出力」とは何ですか?

「クエリ結果」はGETリクエストですか?

enter image description here

6
apasajja

「クエリ結果」は、DBからの生データです。データをフェッチした後、データを使用して追加の作業(変更、テンプレート)を行い、何らかの方法でデータをHTMLにレンダリングすることがよくあります。これにより、「レンダリングされた出力」が得られます。柔軟性を高めるために、ここには2つのキャッシングレベルがあります。

私が思うように(私は間違っている可能性があります!)ここでは、「クエリ結果キャッシュ」の時間を「レンダリングされた出力キャッシュ」よりも短く設定しても意味がありません。

ご覧のように、新しいコンテンツが追加された直後にビューキャッシュをフラッシュするユースケース。追加のスタッフ キャッシュアクション でそれを解決できます。これにはルールが必要です。
たとえば、イベント"After saving new content"または"After updating existing content"、 状態 "Content is published"とキャッシュアクションの1つ。
enter image description here

キャッシュは、ビューのキャッシュ設定に関係なくフラッシュされます。

6
kalabro