I funktionen för att generera tabellen, låt den lagra resultatet till en fil på disken:
/cache/groups/1.txt
/cache/groups/2.txt
Du behöver inte nödvändigtvis köra ett veckovis batchjobb för det, när du anropar funktionen för att få data, kontrollera om cachen är inaktuell (eller obefintlig). Om så är fallet, generera och cachelagra resultaten då. Om inte, returnera bara den cachade filen.
function getGroupTable($groupId) {
if (cacheIsStale($groupId)) {
generateCache($groupId);
}
return file_get_contents($cacheFile);
}
cacheIsStale()
funktionen kan bara titta på filens tidsstämplar
för att testa fräschören.