テーブルを生成する関数で、結果をディスク上のファイルに保存するようにします。
/cache/groups/1.txt
/cache/groups/2.txt
必ずしも毎週バッチジョブを実行する必要はありません。関数を呼び出してデータを取得するときは、キャッシュが古くなっている(または存在しない)かどうかを確認してください。その場合は、結果を生成してキャッシュします。そうでない場合は、キャッシュされたファイルを返すだけです。
function getGroupTable($groupId) {
if (cacheIsStale($groupId)) {
generateCache($groupId);
}
return file_get_contents($cacheFile);
}
cacheIsStale()
関数は、ファイルのタイムスタンプ
を確認するだけです。 鮮度をテストします。