Кэширование данных PHP

14.07.19

Иногда возникает необходимость ограничить количество запросов внешнему источнику данных. Тем более если они не меняются постоянно. Например курс валют в центральном банке. Или же просто ускорить загрузку страницы, отдавая скрипту уже сформированный файл.

$expires = 3600; //Cache lifetime in seconds
$curTime = time(); 
$cacheFile = 'data.json';
 
 
function writeCache($cacheFile)
{
    //get fresh data
    file_put_contents($cacheFile, file_get_contents('http://somesite.com/api'));
 
}
 
if (!file_exists($cacheFile)) {
    writeCache($cacheFile);
} else {
    $fMtime = filemtime($cacheFile);
    if (($curTime - $fMtime) > $expires) {
        writeCache($cacheFile);
    }
}

Этот метод кэширования основан на сравнении даты изменения файла с кэшем с текущем временем

blog comments powered by Disqus