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

21.10.2017

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

$expires = 3600; //Время жизни кэша в секундах
$curTime = time(); 
$cacheFile = 'data.json';


function writeCache($cacheFile)
{
	//Получаем свежие данные
    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);
    }
}

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

Leave a Reply

*

code