2011-12-18 1 views
1

キャッシュヘッダーを有効にするかどうかと、キャッシュヘッダーの違いを選択します。 現在のコードはこれです。キャッシングを有効にする必要があるかどうか、またそれが何をするのでしょうか?GAEでpythonでcache-controlを使用するにはどうすればいいですか?

#seconds_valid = 8600 
#self.response.headers['Cache-Control'] = "public, max-age=%d" % seconds_valid 

self.response.headers['Cache-Control'] = 'no-cache' 

は、私はこの

seconds_valid = 8600 
self.response.headers['Cache-Control'] = "public, max-age=%d" % seconds_valid 

にコードを変更した場合の違いは、私はそれを正しい方法をやっているかをテストすることはできますか?キャッシュを有効にすると、どういうことが起こりますか?引き続きページを更新できますか?

は、あなたのアプリケーションに違いはありません Cache-Controlを設定

答えて

4

max-age与えられ、あなたの例のようにpublicに設定されている場合あなたCache-Controlヘッダを拾うことのAppEngineのキャッシュリバースプロキシ/エッジキャッシュもあります。エッジキャッシュは「ベストエフォート」です。つまり、レスポンスがキャッシュされることは100%確実ではありません。

詳しい情報はherehereを見つけることができます。 overgeneralisationのビットだ

0

ありがとうございます。この値はWebブラウザでのみ使用され、キャッシュはサーバー側ではなくクライアント側でのみ行われます。 Cache-Controlの正しい値は、ユーザーエージェントがコンテンツをローカルにキャッシュしようとするが、appengineとは関係がないため、サーバーの負荷を軽減し、帯域幅を節約できます。

あなたは、応答時間を改善し、データベースを小さくするには、サーバー側のキャッシュを探している場合は、memcachedを見て読み込みます。 memcacheを最適に使用するには、キャッシュ無効化戦略をインターネットで検索する必要があります。

+2

。キャッシングは負荷に影響を与え、キャッシュの有効性と有効期限に関する問題を導入します。 –

+0

質問は、フロントエンドサーバはキャッシュ制御ヘッダに基づいて応答をキャッシュエッジうGoogle App Engineの程度、具体的です。 – miguelv

関連する問題