Узнай стоимость продвижения
Ответим в течение рабочего дня
После заявки созвонимся для уточнения деталей

Кэширование данных в Bitrix

При накоплении большого объема БД может возникнуть проблема с работой сайта. Чаще всего это связано с медленным обменом запросов. В таком случае поможет многоуровневое кэширование.

Что такое кеш?

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

Управление размещением кеша можно через константы в файлах /bitrix/php_interface/dbconn.php и /bitrix/.settings.php. В dbconn.php используется константа BX_CACHE_TYPE, которая может принимать значения:

  • files – размещать кеш на жёстком диске. Используется по умолчанию;
  • memcache, apc, xcahe – соответствующая внешняя система кеширования. Прежде чем её выбрать, следует удостовериться, что она установлена на сервере, иначе будет использоваться файловая система.

Для .settings.php аналогичная настройка производится в секции cache

'cache' => array (

'value' => array ( 'type' => 'тип кеширования', ),)

КАК РАБОТАЕТ КЕШ В BITRIX

В Битриксе существует несколько вариантов кеширования

  1. Неуправляемое кеширование – Результат работы сохраняется в виде файла и возвращается до тех пор, пока не истечёт его время жизни, после чего он будет перестроен. Неуправляемым этот тип кеширования называется потому, что перестраиается только после истечения своего времени жизни.
  2. Управляемое кеширование – в отличие от неуправляемого кеширования обновляется при обновляется при изменении исходных данных компонента.
  3. Автокеширование Вариант управляемого кеширования для компонентов. Каждый компонент заводит собственный кеш и управляет им. Такое кеширование может быть отключено для всех компонентов из админки.
  4. Кеширование меню – Вариант управляемого кеша, созданный специально для меню.
  5. HTML кеширование – устаревший тип кеширования, заменённый композитным сайтом.

ИСПОЛЬЗОВАНИЕ КОМПОЗИТНОГО САЙТА

Композитный сайт - один из видов кеширования в Битрикс. Основная идея заключается в том, чтобы разделить сайт на две части — статическую и динамическую. Статическая часть кешируется и сразу отдаётся клиенту при запросе, после чего, через AJAX-запросы, запрашиваются динамические части страницы. Благодаря этому кажется, что страница загрузилась быстрее. Композитный сайт можно запустить в разделе Настройки > Настройки продукта > Композитный сайт в режиме Автокомпозит, либо Композит.

При режиме автокомпозит, битрикс автоматически производит настройки компонентов автоматически. Для сложных сайтов можно выбрать режим Композит, однако настраивать компоненты придётся вручную.

После включения рекомендуется несколько раз пройтись по страницам сайта в режиме «Инкогнито», чтобы создать кеш для страниц. При этом можно заметить, что на страницах появляется кнопка «Быстро с 1С-Битрикс». Настроить её вид, или отключить полностью можно на вкладке Кнопка "Быстро с 1С-Битрикс" в разделе Настройки > Настройки продукта > Композитный сайт. Следует помнить, что для того чтобы сайт отобразил эти изменения на страницах, придётся сбросить их кеш.

При настройке композитного сайта можно увидеть параметр - Голосование за композитный режим. Смысл его в следующем — компоненты страницы голосуют за включение композитного режима на странице. Режим включится, если большинство компонентов проголосует «За».

Параметр «Содержимое компонента» указывает, будет ли содержимое статическим, или подгружаться через AJAX, и если да, то в каком виде.

Настройка кеширования сайта

Через админ-панель: в разделе Настройки>Настройки продукта>Автокеширование, можно включить или выключить кеширование компонентов и управляемый кеш.
В настройках компонентов: В разделе Настройки кеширования можно выбрать тип кеширования и время жизни кеша.

  • Авто+управляемое – управляемый кеш данного компонентах;
  • Кешировать – неуправляемый cache;
  • Не кешировать – выключить кеш для данного компонента.
Настройки кеша для композиного сайта осуществляются в разделе Настройки > Настройки продукта > Композитный сайт на вкладке Настройки.

Кроме того, в настройках компонентов появляется пункт «Композитный сайт»/

Как сбросить кеш

Сбросить кеш можно в админке для всего сайта: в разделе Настройки>Настройки продукта>Автокеширование, вкладка Очистка файлов кеша
В панели инструментов для конкретной страницы.
В настройках компонента для конкретного компонента.
Дополнительный способ для композитного сайта: можно сбросит кеш в разделе Настройки>Настройки продукта>Композитный сайт>Страницы.

КАК АВТОМАТИЗИРОВАТЬ ОЧИСТКУ КЭША БИТРИКС

Для очистки кеша композитного сайта используйте команду:

/bitrix/modules/main/tools/cron_html_pages.php

Пример команды, которая удалит все файлы кеша, созданные ранее чем 10 часов назад:

php -f /путь до сайта/bitrix/modules/main/tools/cron_html_pages.php 10
Автор
Антон Чуркин
Bitrix программист Альтопромо