Содержание

Механизмы кэширования

Платформа Astra.CMS содержит механизмы кэширования позволяющие значительно снизить нагрузки на сервер. Кэширование и соблюдение актуальности кэша работает полностью автоматически. Система реагирует на все изменения, поэтому закэшированные данные всегда актуальные.

Режимы

Включить кэширование может только администратор с полными правами на странице панели управления «Система» → «Настройки». Поддерживаются два режима:

  1. Кэширование в файлах.
  2. Кэширование в memcache.

Намного более эффективный второй режим, но для его включения должен быть установлен сервер memcache, а так же библиотека php_memcache.

Уровни

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

База данных

Кэшируются все запросы к базе данных MySQL, таким образом, что если кэш актуальный (не добавлялись новые материалы на сайт и т.д.), то подключения к БД вообще не происходит. Это позволяет решить самое узкое место в производительности, а именно уменьшить/исключить обращения к БД.

Страницы

Модули поддерживающие кэширование, позволяют сохранять свое состояние для каждой из своих страниц. Это дает возможность обойти процесс формирования набора данных, а просто восстановить объект и сразу передать его шаблонизатору.

Блоки

Блоки как независимые составляющие страниц кэшируются отдельно. Механизм аналогичный страницам.

Функции

Часто вызываемые функции на этапе формирования данных (функции генерации ссылок. загрузки списков и т.д.), кэшируют свои результаты в момент выполнения. Этот механизм работает всегда.

Масштабирование картинок

Картинки, которые выводятся в шаблоне с помощью функции image с применением масштабирования - тоже кэшируются и впоследствии непосредственно выводятся на странице. Этот механизм работает всегда.