web-dev-qa-db-ja.com

最小キャッシュ有効期間とキャッシュページの有効期限の違い

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

enter image description here

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

35
Gokul N K

私は数時間かけて次の観察をしました。ギャップやミスがある場合はお知らせください。喜んで版を作ります。

[〜#〜] caching [〜#〜]の下のオプションは相互に依存しないことに最初に注意してください。それらが異なるフィールドセットの下で(または依存フィールドとして)表示された場合。この観察を書き留めてください。後で再度取り上げます。

enter image description here

最初のオプション匿名ユーザーのキャッシュページから始めましょう。 enter image description here

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

ちょっとビースト聞いて、匿名ユーザーが私のサイトを訪問すると、

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

また、Cache Pages for anonymous usersを有効にしない場合でも、ページは外部キャッシュシステムによってキャッシュされる可能性があります。例:ブースト

次に、一般的に使用することになる次のオプションに移動します。

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

enter image description here

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

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

最小キャッシュ寿命 enter image description here

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

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

この記事には、Drupalのキャッシング用語の良い要約があります。 http://www.phase2technology.com/blog/caching-in-drupal/

関連ポイントのまとめ:

最小キャッシュ有効期間は、「この時間が経過するとページが再生成される」という意味で誤って解釈されることがよくあります。それが実際に意味することは、少なくともこの時間が経過してキャッシュ消去イベントが発生するまで、ページは再生成されないということです。

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

19
jazzdrive3