Nella funzione per generare la tabella, fai in modo che memorizzi il risultato in un file su disco:
/cache/groups/1.txt
/cache/groups/2.txt
Non devi necessariamente eseguire un lavoro batch settimanale per questo, quando chiami la funzione per ottenere i dati, controlla se la cache non è aggiornata (o inesistente). In tal caso, genera e memorizza nella cache i risultati. In caso contrario, restituisci semplicemente il file memorizzato nella cache.
function getGroupTable($groupId) {
if (cacheIsStale($groupId)) {
generateCache($groupId);
}
return file_get_contents($cacheFile);
}
Il cacheIsStale()
funzione potrebbe semplicemente guardare i timestamp del file
per testare la freschezza.