私は現在、かなり頻繁に JavaScript を更新する Web サイトを開発しており、顧客が常に最新のコードを使用できるように、mod_pagespeed の使用を開始しました。
ドキュメントによると、これを行うと、ページ速度のキャッシュがクリアされ、クライアントに新しい javascript/css を強制的に取得するように指示されます。
sudo touch /var/cache/pagespeed/cache.flush
いくつかの JavaScript コードを変更してテストを行い、ブラウザーで更新を押して古いコードがまだ表示されていることを確認し (キャッシュの有効期限は 1 日に設定されています)、Apache を再起動すると、新しい変更が実際に表示されます。
常に再起動で十分であり、acache.flush
は不要であると信頼できますか? それとも、flush コマンドも実行する必要がありますか? メモリキャッシュをクリアするにはApacheの再起動が必要であると読んでいますが、ファイルキャッシュやcache.flushがそれにどのように適合するかはわかりません。
アップデート:
pagespeed コードを取得しました。正しく理解していれば、cache.flush
プロセスによってタイムスタンプが更新されます。
ここで起こっているようRewriteOptions::UpdateCacheInvalidationTimestampMs
です:
http://modpagespeed.googlecode.com/svn/trunk/src/net/instaweb/rewriter/rewrite_options.cc
これが更新されているタイムスタンプを特定できれば、それをチェック/Apacheを再起動/もう一度チェックする(タイムスタンプが変更されたかどうかを確認する)か、ファイル名/場所/誰がそれを所有しているかから推測できるようです。起こる可能性があります。
これについてこれ以上の考えはありますか?どのタイムスタンプが更新されているかを把握する方法に関するアドバイスはありますか? 更新するたびに余分なフラッシュコマンドを手動で実行するか(他の理由ですでにApacheを再起動している場合)、それを除外することについて気分を良くする他の理由はありますか?