Платформа Astra.CMS содержит механизмы кэширования позволяющие значительно снизить нагрузки на сервер. Кэширование и соблюдение актуальности кэша работает полностью автоматически. Система реагирует на все изменения, поэтому закэшированные данные всегда актуальные.
Включить кэширование может только администратор с полными правами на странице панели управления «Система» → «Настройки». Поддерживаются два режима:
Намного более эффективный второй режим, но для его включения должен быть установлен сервер memcache, а так же библиотека php_memcache.
Имеется несколько уровней кэширования, некоторые из них работают всегда, даже если опция кэширования отключена.
Кэшируются все запросы к базе данных MySQL, таким образом, что если кэш актуальный (не добавлялись новые материалы на сайт и т.д.), то подключения к БД вообще не происходит. Это позволяет решить самое узкое место в производительности, а именно уменьшить/исключить обращения к БД.
Модули поддерживающие кэширование, позволяют сохранять свое состояние для каждой из своих страниц. Это дает возможность обойти процесс формирования набора данных, а просто восстановить объект и сразу передать его шаблонизатору.
Блоки как независимые составляющие страниц кэшируются отдельно. Механизм аналогичный страницам.
Часто вызываемые функции на этапе формирования данных (функции генерации ссылок. загрузки списков и т.д.), кэшируют свои результаты в момент выполнения. Этот механизм работает всегда.
Картинки, которые выводятся в шаблоне с помощью функции image с применением масштабирования - тоже кэшируются и впоследствии непосредственно выводятся на странице. Этот механизм работает всегда.