https://www.diafan.ru/highload/
АЛГОРИТМ «ЭКСТРЕМАЛЬНОГО КЕШИРОВАНИЯ»
Конечно, у «экстремального кеширования» есть минусы, и для «живого» активного частообновляемого сайта этот параметр к постоянному использованию не рекомендуется. Но как инструмент серьёзного снижения нагрузки на хостинг при всплесках посещаемости подойдет.
Чтобы понимать принцип работы «экстремального кеширования», нужно знать, как работает обычное кеширование в DIAFAN.CMS. Вкратце, DIAFAN.CMS сохраняет в папке /cache/ в виде статичных файлов участки сайта, которые затем использует при построении сайта. Это только некоторые участки: блоки сайта, блоки модулей, списки веток комментариев и т.д.
Что же начинает происходить при включении «экстремального кеширования»? В ядре DIAFAN.CMS активируется проверка, есть ли запрашиваемая посетителем страница в экстремальном кеше? Если да, то она безусловно выводится и остановка. Если запрашиваемого адреса в кеше нет, страница сайта генерируется классически, но её полная копия сразу кладется в кеш в статическом виде. Полностью. Т.е. если кто-то однажды открыл страницу какой-либо карточки товара, то она попадает в экстремальный кеш, и затем всем остальным пользователям будет показываться оттуда. Соответственно, один раз страница генерируется как обычно, с полной нагрузкой на хостинг, остальные 999 раз уже нет. Она будет грузиться как статичный HTML-файл, без нагрузки на mySQL-сервер и хостинг.
Если на странице, которая сохранена в кеше, что-то обновляется, например, добавляется комментарий, эта страница из экстремального кеша удаляется, чтобы затем сгенерироваться заново. Очистка экстремального кеша происходит также всякий раз, когда администратор сайта что-то делает в административной части. Добавляет товар, новость, отвечает на вопрос-ответ - экстремальный кеш удаляется и затем формируется новый. В этом и смысл «экстремального кеширования»: если из 1000 посетителей 99% - гости, которые просто смотрят тексты, карточки товаров и прочие популярные страницы, то им незачем каждый раз формировать страницу с использованием всех ресурсов сервера.
Теперь о минусах «экстремального кеширования». Если покупатель положит товар в корзину, он это сразу увидит "В корзине 1 товар" - сработает ajax. Однако, когда покупатель перейдет на другу карточку товара, он снова увидит в блоке корзины "Нет товаров", ведь кеш формировался для общей страницы карточки. При этом, страница оформления заказа, которая имеет адрес site.ru/shop/cart/?544548(случайным образом генерируемый url), открываться будет актуальной, ведь этой страницы в кеше нет. Поэтому корзину система сгенерирует налету, со всеми подключениями и пользователь спокойно оформит заказ.
Поэтому постоянное использование параметра «Экстремальное кеширование» на сайтах с форумами, личными кабинетами, перепиской и активным общением пользователей между собой, а также интернет-магазинов, где оформляется несколько товаров в заказе, не рекомендуется.
Включить параметр «Экстремальное кеширование» можно в модуле «Параметры сайта».