最小キャッシュライフタイムとキャッシュページの有効期限の違い


35

Drupalパフォーマンスページのフィールドセットキャッシュには、2つのオプションがあります。1つは最小キャッシュライフタイムで、もう1つはキャッシュページの有効期限です。

ここに画像の説明を入力してください

これら2つの違いは何ですか。


「外部」の単語を詳しく見てください;)
モウォ

1
答えを知っています。私は自分の思考を検証するために少し詳細な答えを書き、それが他の人に役立つことを期待して考えました。
Gokul NK

詳細な回答については、drupal.stackexchange.com
questions /

回答:


39

数時間を過ごした後、次のような観察をしました。ギャップや間違いがある場合は、お知らせください。エディションを作成させていただきます。

CACHINGの下のオプションはいずれも相互依存していないことを最初に観察します。それらが異なるフィールドセットの下に(または依存フィールドとして)表示されている場合。この観察結果をメモしておいて、後で再確認します。

ここに画像の説明を入力してください

最初のオプションである匿名ユーザーのページのキャッシュから始めましょう。 ここに画像の説明を入力してください

このオプションをチェックすると、基本的にDrupalに伝えます。

ねえビーストは、匿名ユーザーが私のサイトを訪れたときに、

  1. 生成されたHTMLをキャッシュテーブルに保存する
  2. 私のページはすべての匿名ユーザーに対して同じままなので、すべてのユーザーに同じ結果を表示できます。
  3. すべてのキャッシュをクリアするまで、ページのキャッシュをクリアしないでください。

またCache Pages for anonymous users 、有効にしない場合でも、外部キャッシュシステムによってページをキャッシュできます。例:ブースト

次に、通常使用する次のオプションに移動します。

キャッシュページの有効期限

ここに画像の説明を入力してください

  1. この設定は、Drupalデータベースまたはキャッシュテーブルとは関係がないことに注意してください。
  2. 説明を読むThe maximum time an external cache can use an old version of a page.モロットが指摘したように、キーワードは外部のものです。
  3. したがって、このオプションが基本的に行うことは、ヘッダーCache Controlを設定し、ヘッダーpublicのmax-age値を指定された値(この場合は1日)に設定することです。
  4. このヘッダーは、external独自のキャッシュからこのページを表示できるため、最大年齢までこのページのサーバーを呼び出さないようにキャッシュシステムに指示します。max-ageの後、キャッシュシステムはDrupalサーバーに戻ってコンテンツが変更されたかどうかを確認する必要があります。

  5. Varnishサーバーの場合、Apacheを呼び出さず、キャッシュからページを返します。したがって、Varnishがページをキャッシュし、何千人ものユーザーがそのページにリクエストを行ったと仮定します。つまり、Apacheサーバーに一度もヒットすることなく、1000件のリクエストが処理されたことを意味します。

最小キャッシュ寿命 ここに画像の説明を入力してください

サイトに大量のトラフィックがない場合、またはこの値が不明な場合は、この値をnoneのままにしておくことをお勧めします。

  1. この値はページだけでなく適用されます。ただし、すべてのキャッシュオブジェクト。
  2. この値が示すのは、「古いキャッシュオブジェクトを提供しても構いません」
  3. この例では、値は5分に設定されています。
  4. ホームページに最新の5つのブログをリストしたページがある場合。上記の値が意味することは、新しいブログが作成された場合、そのブログが5分間リストに表示されないということです。
  5. この値が設定されている場合、キャッシュが最小更新/再作成されるためには、これだけの時間が経過し、キャッシュクリアアクションが実行される必要があります[キャッシュクリア関数を実行する必要があります]。

1
この答えをありがとう。少し混乱していますが、「匿名ユーザー用のキャッシュページ」については、すべてのキャッシュをクリアするまでページキャッシュをクリアしない」ということです。この「私が言う」とは何を表していますか?キャッシュがクリアされるきっかけは何ですか?
s427

1
@ S427を確認してくださいdrupal.stackexchange.com/questions/102976/...クリアするためにキャッシュをトリガするかについての詳細は。
Gokul NK

1
おもしろいと思ったのは、「匿名ユーザー用のキャッシュページ」が有効になっている場合にのみこれが当てはまることです。そうでない場合、「キャッシュページの有効期限」を変更しても何も行われず、「キャッシュの最小有効期間」を有効にするとヘッダーが設定されます。匿名ユーザーのキャッシュが有効で、「キャッシュされたページの有効期限」のみがヘッダーを設定する場合のみ。これは...混乱ビットです
ルカシュZaroda

19

この記事には、Drupalのキャッシング用語の概要が記載されていますhttp : //www.phase2technology.com/blog/caching-in-drupal/

関連するポイントの要約:

最小キャッシュライフタイムは、多くの場合、「この時間が経過するとページが再生成されます」と誤解されます。それが実際に意味するのは、少なくともこの時間が経過し、キャッシュクリアイベントが発生するまで、ページは再生成されないということです。

キャッシュされたページの有効期限も誤って解釈される場合があります。この値は、Cache-Controlヘッダーのmax-age値として送信されるものを制御するため、Drupalインストールに新しいコピーを要求せずにページを提供できる期間をプロキシサーバーにアドバイスします。これは、この時間が経過した後にページが再生成されることを意味するのではなく、プロキシサーバーがDrupalに戻って、この時間が経過した後にページの新しいバージョンが存在するかどうかを確認する必要があることを意味します。Drupalは、キャッシュクリアイベントが発生した後にのみページを再生成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.