Как сбросить кэш на сайте битрикс
Роберт Басыров
Сложность урока:
2 уровень — несложные понятия и действия, но не расслабляйтесь.
Недоступно в лицензиях:
Ограничений нет
Сброс кеша
Если возникла потребность сбросить кеш, то рекомендуется это сделать с помощью ссылки Сбросить кеш на странице настроек.
При изменении шаблона сайта рекомендуется сбрасывать уже созданный композитный кеш. Это можно сделать с помощью запуска агентов из cron. Создан специальный файл cron_html_pages.php, который надо запустить. Он лежит по адресу: www/bitrix/modules/main/tools/cron_html_pages.php .
Пример команды, которая удалит все файлы кеша, созданные ранее чем 10 часов назад:
php -f /path/to/site/bitrix/modules/main/tools/cron_html_pages.php 10
Не рекомендуется сброс кеша вручную путём удаления папки с кешем страниц /bitrix/html_pages// . В этом случае возможна ситуация, когда кеш перестанет создаваться, если до сброса кеша произошло превышение квоты на композитный кеш. По логу эту ошибку отследить не удастся. Если всё же вы прибегаете к этой операции, то одновременно с этим очистите содержимого файла bitrix/html_pages/.enabled , чтобы сбросить статистику.
Сброс с помощью API
Для сброса кеша с помощью API необходимо использовать метод \Bitrix\Main\Data\StaticHtmlCache:
$staticHtmlCache = \Bitrix\Main\Data\StaticHtmlCache::getInstance(); $staticHtmlCache->deleteAll();
Указание времени жизни
Если вызвать метод setAutoUpdate(false) , то на странице не будет аяксового хита вообще. В этом случае setAutoUpdateTTL позволяет указать время сброса кеша. Этот способ — аналог настроек в админке, только для конкретной страницы.
Кеш браузера и SQL-база
Пример использования рассмотрим на примере шаблона компонента Корзина. Код разметки аналогичен первому варианту разметки шаблона компонента Авторизация, но дополнительно указано методом setBrowserStorage использование браузера как локального хранилища динамичного контента. Это нужно в случаях когда пользователь уже ходил по интернет-магазину, и положил в корзину какое-то число товаров. В этом случае при загрузке страницы система будет использовать кеш браузера и отобразит последнее число товаров этого пользователя до момента получения актуальных данных с веб-сервера.

Данные в локальном хранилище:

Контент динамических областей пишется в SQL-базу. Но не по умолчанию, а по указанию:
$frame = $this->createFrame()->begin(); $frame->setBrowserStorage(true);
Примечание: Использование SQL базы не будет работать в Internet Explorer и Firefox, т.к. эти браузеры не поддерживают SQLite. Так как ситуация с браузерами меняется, то советуем ситуацию с поддержкой отслеживать постоянно.
Полное кеширование шаблона компонента
Если необходимо, чтобы кешировался весь контент шаблона и потом обновлялся, то необходимо весь код шаблона вставить в $this->createFrame()->begin(); . В таком случае вся информация будет кешироваться и затем обновляться на втором хите:
$frame = $this->createFrame()->begin(); // статический и динамический контент $frame->end();
Отмена композита в любом месте страницы
\Bitrix\Main\Data\StaticHtmlCache::getInstance()->markNonCacheable();
Кэширование данных в Bitrix

При накоплении большого объема БД может возникнуть проблема с работой сайта. Чаще всего это связано с медленным обменом запросов. В таком случае поможет многоуровневое кэширование.
Что такое кеш?
Кеш — это специальное хранилище, в котором сохраняются результаты работы редко обновляемых или ресурсоёмких кусков кода.
Управление размещением кеша можно через константы в файлах /bitrix/php_interface/dbconn.php и /bitrix/.settings.php. В dbconn.php используется константа BX_CACHE_TYPE, которая может принимать значения:
- files – размещать кеш на жёстком диске. Используется по умолчанию;
- memcache, apc, xcahe – соответствующая внешняя система кеширования. Прежде чем её выбрать, следует удостовериться, что она установлена на сервере, иначе будет использоваться файловая система.
Для .settings.php аналогичная настройка производится в секции cache
Настройка кеширования сайта
Через админ-панель: в разделе Настройки>Настройки продукта>Автокеширование, можно включить или выключить кеширование компонентов и управляемый кеш.

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

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

В панели инструментов для конкретной страницы.

В настройках компонента для конкретного компонента.

Дополнительный способ для композитного сайта: можно сбросит кеш в разделе Настройки>Настройки продукта>Композитный сайт>Страницы.
1С-Битрикс. Скрипт для удаления кеша всего сайта
В этой заметке я хочу рассказать о технологии LazyLoad или в простонародье «ленивая загрузка» в Битриксе. Метод, описанный мной, будет точно работать в компонентах catalog.section и news.list.
1C-Битрикс. Кастомизация нового шаблона компонента sale.order.ajax
С выходом нового шаблона компонента sale.order.ajax на форумах битрикса разгораются возмущения и недомения. Мол, теперь код всего шаблона на JavaScript и как его кастомизировать непонятно. На самом деле да, код js-скрипта составляет почти семь тысяч строк. Сходу в таком количестве кода, даже хорошо написанного (к сожалению, битрикс этим не балует), соблюдая паттерны программирования, будет непросто.
В этой заметке я покажу способ, как можно кастомизировать основной скрипт логики шаблона оформления заказа (order_ajax.js), не прибегая к его правке. Что нам это даёт? Когда прилетят очередные обновления шаблона, мы просто заменим его и всё. Все наши кастомизации будут работать (в теории).
1С-Битрикс. Пишем человеческий шаблон многоуровнего меню каталога
Не буду писать про боль при интегации дефотного шаблона. Давайте просто напишем свой, с блекджеком и вот этим всем.
В заметке будет (интересного):
- построение древовидного массива без рекурсии (неограниченной вложенности)
- анонимная рекурсивная функция
- формирование урлов для секций супер-быстрым способом
- поработаем с сущностями инфоблока через ORM D7
Дальше много кода.
3 комментария
#576 Роман 8 июля 2017 в 13:26
А какой смысл в этом скрипте, если в админке битрикс можно легко очистить весь кэш?
#578 Олег Максименко 8 июля 2017 в 19:10
Например, при использовании в консольном приложении.
#649 Виктор 7 сентября 2018 в 12:51
Просто удаляешь папки, и все, занимает секунду, Ну или переводишь в мемкеш, тогда еще меньше.
Сброс управляемого кэша инфоблока
На сегодняшний день создание веб-сайта — это не самое замысловатое задание, с которым только можно столкнуться. Вам не обязательно все возможные детали о веб-хостинге или процессе написания кода, чтобы получить привлекательный и профессиональный ресурс.

Как проверить домен через whois?
Проверка домена на занятость. Whois — как использовать и что можно проверить? Что такое история домена и где её смотреть? Ответы на эти другие вопросы в нашей статье.
