2

画像をアップロードするたびに、さまざまなフレーム サイズでレンダリングされるサイトがあります。cron ジョブは 10 分ごとに実行され、その間に新しい画像がアップロードされたかどうかを確認し、アップロードされた場合は、必要なすべてのフレームを生成します。

この cron は 10 分ごとに実行されるため、コンテンツ (記事など) が公開されてから画像が利用可能になるまでには、ある程度の時間がかかります。その間、サイトのロゴを含む一般的なプレースホルダー画像が表示されます。

Akamai は画像をキャッシュするため、cron によってまだレンダリングされていない画像を含むページをサイト ユーザーがロードすると、その画像パスの静的プレースホルダーが表示され、Akamai がこれをキャッシュします。画像が後でレンダリングされて利用可能になった場合でも、ユーザーは Akamai からキャッシュされたバージョンを取得します。

1 つの解決策は、cron がレンダリングしたときに、これらのイメージの「経過時間」を破棄することです。しかし、アカマイが新しいもののために戻ってくるのに約 8 分かかります。

おそらくキャッシュ有効期限ヘッダーを介して、新しい画像が受信されるまで10秒ごとに戻ってきて、それが完了したら二度と戻ってこず、キャッシュされたバージョンを表示し続けるようにアカマイに指示できる他のソリューションはありますか?

4

1 に答える 1

2

はい、ある意味で。サーバー側と akamai 設定内のいくつかの手順を組み合わせる場合。

概念は次のとおりです。エッジ サーバーは、所有するコンテンツを提供します。たとえばphpのキャッシュ制御ヘッダーを使用すると、それぞれのデジタルプロパティのアカマイ構成設定のTTL設定がそれらを吹き飛ばし、代わりにそれらを使用します。つまり、オリジン サーバーにアクセスする頻度を、パス、ファイルの種類、拡張子などで指定します。次に、クライアント側から、エンドユーザーに配信されるファイルが何であれ、そのレベルでキャッシュしてロールバックしない限り、エッジサーバーがコンテンツを要求される頻度は実際には問題になりません.

これらの構成設定を使用して、特定のファイルに正確な有効期限があることを指定したり、まったくキャッシュしないように指定したりできます。

したがって、サーバー側でページに placeholder.jpg を指定し、その画像をまったくキャッシュしないように akamai に指示すると、Edge Server がその画像のリクエストを受け取るたびに戻ってきます。画像を配置すると、placeholder.jpg はページに存在しなくなり、代わりに sizeA.jpg が存在します。これは、通常の画像キャッシュ時間に従います。

これは正確には理想的ではないかもしれませんが、ページを手動でクリアする以外にできる限り最善の方法であり、私が知る限り、起動できるページをクリアするための API 呼び出しがありません (さらに 7-いずれにせよ、キャッシュクリアが n/w を介して伝播するのに 10 分かかります)。

于 2012-09-26T23:37:02.253 に答える