2016-09-21 7 views
1

私のプロジェクトの1つでは、ページスピードの向上に取り組んでいます。ブラウザキャッシュを更新する方法はありませんか?

ブラウザキャッシュを有効にするために.htaccessファイルを使用しました。以下はコードの一部です。

# 1 YEAR = 29030400 
<FilesMatch "\.(ico|pdf|flv)$"> 
    Header set Cache-Control "max-age=29030400, public" 
</FilesMatch> 

# 1 WEEK = 604800 
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$"> 
    Header set Cache-Control "max-age=604800, public" 
</FilesMatch> 

# 2 DAYS = 172800 
<FilesMatch "\.(xml|txt|css|js)$"> 
    Header set Cache-Control "max-age=172800, proxy-revalidate" 
</FilesMatch> 

# 1 MIN = 60 
<FilesMatch "\.(html|htm|php)$"> 
    Header set Cache-Control "max-age=60, private, proxy-revalidate, must-revalidate" 
    </FilesMatch> 

このコードの問題は、データがページに反映されていないという新しいデータが追加されたときのコードです。

新しいデータがDBに埋め込まれると、キャッシュを更新する方法はありますか?

+1

いいえ、ありません。それはキャッシュという考え方に反するものです。何かをキャッシングするということは、一定の期間、物事が変わったかどうかを確認するためにすべての努力を惜しまないことを意味します。これがキャッシュ制御の目的です。物事が変更された場合のキャッシングと_still_チェックは理にかなっていません。それは努力を投資する必要がありません。 – arkascha

答えて

0

1つのトリックは、あなたのURLにカウントパラメータを追加することです。

http://mysite.mydomain.com/test.ico?count=1 

カウントパラメータはWebサーバでは無視されますが、ブラウザのキャッシュに保存されます。イメージを変更するたびにカウント値を更新し、イメージが再ロードされます。日付/タイムスタンプ(ファイル作成日付)を使用して、すべてを自動化することもできます。

関連する問題