Кэширование данных модуля для DLE

Кэширование данных модуля для DLE
Создание сайтов

Кэширование данных в веб-движке DLE необходимо для оптимизации работы сайта и сокращения числа SQL-запросов. Выполнив операцию, вы уменьшите частоту выполнения сложных алгоритмов и в целом ускорите загрузку страниц — для этого в Datalife Engine изначально было встроено необходимое API, и хоть оно долго не обновлялось, в нем есть несколько инструментов, позволяющих решать некоторые задачи.

Способ 1 узнать тут:
Для начала подключаем API файл, вписав следующую строку в начале вашего модуля:
include("engine/api/api.class.php");

Далее идет следующая конструкция:

// Здесь лучше разместить уникальные запросы и код, которых не нужно кэшировать.
$us_cache = $dle_api->load_from_cache("my_modules", 3600, "text");
if($us_cache === false) { // Если кэш отсутствует или больше указанного времени.
// Неуникальные запросы и различная информация, которую необходимо кэшировать. Вставлять в переменную $content.
$dle_api->save_to_cache("my_modules", $content); // Сохраняем/обновляем указанный кэш
echo $content; // Выводим значение $content, так как кэш мы только создали/обновили
} else { // Если кэш существует и он меньше указанного времени.
echo $us_cache; // Выводим данные из кэша
}

Здесь всё максимально расписано и обозначены те области, в которые рекомендовано вставить те или иные запросы и алгоритмы — по желанию принцип может быть изменен как вам угодно.

Разберем каждое из значений:

my_modules — общее название группы кэшированных файлов. Должно быть уникально для каждого модуля и изменено на любое другое.
3600 — ровно такое время (в секундах) будет жить ваш кэш, а по прошествию указанного периода произойдет автоматическая перезапись.
text — параметр заставляет возвращать данные такими, какими вы их записали. В ином случае (если значение разнится с записанным в «text») они будут возвращены в виде массива.

Оцените статью
SEO
Добавить комментарий

Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности