Автокэширование — режим, при котором 1С-Битрикс сам управляет кэшем всех компонентов, у которых кэширование стоит в положении «Авто». Это самый простой способ разом ускорить сайт без правки каждого компонента вручную.
Что такое автокэширование
У каждого компонента 1С-Битрикс есть параметр «Тип кэширования» с тремя значениями: Авто, Кэшировать и Не кэшировать. Значение Авто означает, что компонент кэшируется только тогда, когда глобально включён режим автокэширования.
Таким образом переключатель автокэширования — это единый рубильник для всех компонентов в режиме Авто. Компоненты с явно выставленным значением Кэшировать или Не кэшировать этому режиму не подчиняются и работают по своей настройке.
- Авто — поведение зависит от глобального режима автокэширования;
- Кэшировать — компонент всегда кэшируется, независимо от режима;
- Не кэшировать — компонент никогда не кэшируется.
На боевом сайте автокэширование должно быть включено. Выключают его, как правило, только на время отладки шаблонов и компонентов.
Как включить автокэширование
Включить режим можно двумя способами — через административную панель или через настройки главного модуля.
Через административную панель:
- Войдите в административный раздел под пользователем с правами администратора.
- Откройте Настройки → Настройки продукта → Автокэширование.
- Нажмите пункт «Включить автокэширование». Статус в верхней части экрана сменится на «Автокэширование включено».
Через настройки главного модуля:
- Перейдите в Настройки → Настройки продукта → Настройки модулей → Главный модуль.
- На вкладке «Кэширование» выберите тип кэширования и убедитесь, что режим автокэширования активен.
- Сохраните изменения.
Значение хранится в файле /bitrix/php_interface/dbconn.php в константе BX_CACHE_TYPE и связанных параметрах, но менять их вручную обычно не требуется.
Выбор типа хранилища кэша
Автокэширование только решает, нужно ли кэшировать. Где хранить кэш, определяет тип хранилища. От выбора хранилища напрямую зависит скорость.
| Тип | Где хранится | Когда использовать |
|---|---|---|
| Файлы | Диск, каталог /bitrix/cache/ | По умолчанию, малые и средние сайты |
| memcached | Оперативная память сервера memcached | Нагруженные сайты, кластер |
| Redis | Оперативная память сервера Redis | Высоконагруженные проекты, теги |
| APCu | Локальная память PHP | Один сервер, быстрый локальный кэш |
Тип хранилища задаётся в dbconn.php либо через раздел Настройки → Производительность → Настройки кэша. На BitrixVM с включённым memcached/Redis выбирайте память вместо файлов — это заметно снижает нагрузку на диск.
Как проверить, что кэш работает
После включения нужно убедиться, что компоненты действительно кэшируются. Есть несколько независимых способов проверки.
1. Панель отладки (админ-панель)
- На публичной части сайта в верхней админ-панели включите режим отладки (значок «Отладка» → «Показывать время исполнения»).
- Обновите страницу. Внизу компонентов появятся плашки со временем генерации и пометкой, взят ли результат из кэша.
2. Каталог кэша
- Откройте по FTP или в файловом менеджере каталог
/bitrix/cache/. - После посещения страниц там должны появляться подкаталоги и файлы кэша. Пустой каталог при включённом режиме — признак проблемы.
3. Монитор производительности
В разделе Настройки → Производительность → Панель производительности запустите тест. В отчёте отображается процент попаданий в кэш и время генерации страниц — это объективная проверка эффекта.
Сброс и обновление кэша
Кэш обновляется автоматически при изменении данных (например, при правке элемента инфоблока срабатывает тегированный кэш). Иногда кэш нужно сбросить вручную — после правки шаблонов, обновления модулей или изменения настроек.
- Через админку: Настройки → Настройки продукта → Автокэширование → Очистить файлы кэша — можно очистить весь кэш или выборочно (управляемый кэш, меню, HTML-кэш).
- Вручную: удаление содержимого каталога
/bitrix/cache/и/bitrix/managed_cache/(осторожно, не удаляйте сами каталоги). - Программно: методы очистки кэша в API главного модуля.
Полная очистка на боевом сайте кратковременно повышает нагрузку, так как кэш перегенерируется заново. На крупных проектах чистите выборочно.
Частые ошибки
- Автокэширование выключено на проде. Самая частая причина «медленного» сайта. Проверьте статус в настройках продукта.
- Компоненты стоят в режиме «Не кэшировать». Глобальный режим их не затрагивает — исправьте настройку конкретного компонента на
Авто. - Нет прав на запись в
/bitrix/cache/. При неверных правах файлов кэш не создаётся, а в логах появляются ошибки записи. Проверьте владельца и права каталога. - Выбран тип «Файлы» на нагруженном сайте. Диск становится узким местом; переключитесь на memcached или Redis.
- Кэш не сбрасывается после правок. Забыли очистить кэш после деплоя шаблонов — старые данные «залипают». Очищайте кэш в рамках публикации.
- Слишком большой каталог кэша. При файловом кэше без периодической очистки в
/bitrix/cache/накапливаются миллионы файлов, замедляя ФС.
Итог
Автокэширование — базовый и обязательный шаг оптимизации 1С-Битрикс. Порядок действий простой:
- Включите режим в Настройки → Настройки продукта → Автокэширование.
- Выберите подходящий тип хранилища (память вместо файлов на нагруженных проектах).
- Проверьте эффект панелью отладки и монитором производительности.
- Настройте регулярную и корректную очистку кэша при деплое.
После включения автокэширования переходите к тегированному кэшу, композитному сайту и оптимизации базы данных — это следующие уровни ускорения.