Във функцията за генериране на таблицата я накарайте да съхранява резултата във файл на диск:
/cache/groups/1.txt
/cache/groups/2.txt
Не е задължително да изпълнявате седмично пакетно задание за него, когато извиквате функцията, за да получите данните, проверете дали кешът не е актуален (или не съществува). Ако е така, генерирайте и кеширайте резултатите. Ако не, просто върнете кеширания файл.
function getGroupTable($groupId) {
if (cacheIsStale($groupId)) {
generateCache($groupId);
}
return file_get_contents($cacheFile);
}
cacheIsStale()
функцията може просто да погледне маркерите за време на файла
за тестване за свежест.