サーバー側の状況では、私の意見では、キャッシュが無効になるまでの期間は単純すぎます。ファイルがいつ更新され、キャッシュを再構築する必要があるかを知ることができます。アプリの一部としてカスタム インターフェイスを介して編集が行われた場合は、簡単です。編集が行われた場合は、キャッシュを削除するだけです。
ただし、管理者が FTP 経由でファイルを更新した場合でも、タイムスタンプを確認できます。
例:
<?php
$files = array("reset.css", "style.css");
$timestamps = "";
foreach( $files as $file ){
$timestamps .= filemtime($file);
}
$cache_file = md5($timestamps).".css";
if( !file_exists($cache_file) ){
// Build minified version into cache file
// (leaving the implementation out here)
concat_and_minify($files, $cache_file);
}
echo '<link rel="stylesheet" type="text/css" href="' . $cache_file . '"/>'; ?>
これにより、ファイルのいずれかが変更された場合にのみ、縮小版が再構築されます。すべてのファイルの mtime を読み取ることは、「愚かな」期間メカニズムと比較して小さなオーバーヘッドですが、柔軟性が向上する価値があります。