ПММ

Кэширование на PHP

Кэширование на PHP
29.01.2019 0 33
Попытаюсь навязать свой вариант кэширования. Я уже его использовал в Виджете для Instagram.

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

В этом коде: узнаем нужно ли обновить кэш, если да: проводим "дорогостоящие" операции, сохраняем, если нет: грузим имеющийся кэш

$TIME = 3600; // Обновление через N секунд

$file_write = 1; // Запись в файл: 1 - записывать, 2 - нет (КЭШ)

$new = 0; // Переменная, в которой указано нужно ли обновлять кэш или нет: 0 - нужно

$file = 'cache.txt';

if ($file_write == 1) {

if (file_exists ($file)) { // Существует ли файл с кэшем

$cache = filemtime($file); // Дата создания кэша

$new = time() - $cache; // Вычитаем из текущего времени время создания файла

if ($new > $TIME) $new = 0; // Если их разница больше, чем промежуток обновления, перезаписываем кэш

}

else $new = 0; // Записываем кэш, так как файл с кэшем отсутствует

}

if ($new == 0) {

$result = 2 + 2 + 5 + 3 + 6 + 9;

if ($file_write == 1) {

file_put_contents ($file, $result); // Сохранение файла с кэшем

}

}

else {

$result = file_get_contents ($file); // Загрузка кэша

}

echo $result;

При копировании сохраняйте ссылку на первоисточник:
Поделиться в соц. сетях:

Информация
Вашей группе не разрешено писать комментарии
Чтобы писать комментарии вам необходимо авторизоваться:

Настройки
Выбрать цвет