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

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

Кэш в Битриксе влияет на производительность, но при отладке, обновлении шаблонов или компонентов может мешать видеть актуальные изменения. Поэтому важно знать, как быстро и безопасно его сбрасывать.

Файловый кэш можно удалить вручную: папки /bitrix/cache/, /bitrix/managed_cache/, /upload/cache/ очищаются через файловый менеджер или SSH. При этом сайт может временно работать медленнее до восстановления кэша.

Для очистки кэша через административную панель откройте Настройки → Производительность → Управление кешем. Выберите нужный тип и нажмите «Очистить». Это безопасный способ, не требующий доступа к серверу.

В консольном режиме используется скрипт bitrix/php_interface/clear_cache.php, где вызываются функции BXClearCache(true) и ManagedCache::getInstance()->cleanAll(). Такой подход подходит для автоматизации через cron или при развёртывании из CI/CD.

Если используется композитный сайт, нужно дополнительно очищать HTML-кэш. Это делается через раздел Настройки → Композитный сайт или вызовом метода Bitrix\Main\Data\StaticHtmlCache::getInstance()->deleteAll().

Очистка кэша через административную панель Битрикс

Очистка кэша через административную панель Битрикс

Перейдите в административную часть сайта по адресу /bitrix/admin/ и авторизуйтесь с правами администратора.

Откройте меню «Настройки» → «Инструменты» → «Очистка кеша». На странице доступны два варианта: очистка всех типов кэша и выборочная очистка.

Для полной очистки нажмите кнопку «Очистить весь кеш». Это удалит данные из всех папок кеширования, включая /bitrix/cache/, /bitrix/managed_cache/, /bitrix/stack_cache/ и /bitrix/html_pages/.

Для точечной очистки используйте опцию «Очистить компоненты». В этом случае удаляются только данные, связанные с кешем компонентов и шаблонов.

Если включено статическое кеширование (HTML-кеш), перейдите в раздел «Настройки» → «Производительность» → «Управление HTML-кешем» и выполните сброс вручную. Это актуально при изменениях на страницах, где используется статическая генерация.

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

Удаление файлов кэша вручную на сервере

Удаление файлов кэша вручную на сервере

Для полного удаления кэша вручную подключитесь к серверу через SSH или используйте файловый менеджер хостинга. Перейдите в корневую директорию сайта и откройте папку /bitrix/cache/. Удалите все её содержимое. Это безопасно – система автоматически создаст новые файлы при необходимости.

Также очистите директорию /bitrix/managed_cache/. В ней хранятся данные, связанные с компонентами и структурой сайта. Удаление этих файлов ускоряет применение изменений в шаблонах и компонентах.

Файлы сессий могут накапливаться в /bitrix/tmp/. Очистите её, если объём данных стал чрезмерным. Проверьте наличие временных файлов и логов, но не удаляйте директорию полностью – только содержимое.

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

После удаления кэша рекомендуется удалить опкэш PHP, если он включён. Для этого выполните команду opcache_reset() через PHP-скрипт или консоль.

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

Использование консольной команды для сброса кэша

Использование консольной команды для сброса кэша

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

Для запуска консоли необходимо перейти в корень проекта и выполнить команду:

php bitrix/modules/main/tools/console.php

Для сброса всего кэша используется команда:

php bitrix/modules/main/tools/clear_cache.php

Если требуется очистить только файловый кэш, запускается:

php bitrix/modules/main/tools/clear_cache.php files

Для сброса компонентов:

php bitrix/modules/main/tools/clear_cache.php comp

Чтобы удалить кэш меню:

php bitrix/modules/main/tools/clear_cache.php menu

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

Если используется composer-проект с Bitrix Framework, то можно подключить кастомные команды через Symfony Console, добавив необходимую логику в файл console или bin/console.

Перед использованием рекомендуется проверить, включён ли PHP-интерпретатор в переменную окружения PATH или использовать полный путь к нему, например: /usr/bin/php.

Сброс кэша компонентов и шаблонов

Сброс кэша компонентов и шаблонов

В Битрикс кэш шаблонов и компонентов может сохраняться на уровне файловой системы и в оперативной памяти (opcache, кеш-композит и т.д.). Для принудительного обновления кэша компонентов и шаблонов можно использовать следующие методы:

  • Удаление содержимого папки /bitrix/cache/ – очищает кэш компонентов. Следует также удалить /bitrix/managed_cache/ и /bitrix/stack_cache/ при использовании управляемого кэша.
  • Очистка папки /bitrix/local_cache/ (если используется) – актуально для кастомных решений и нестандартной конфигурации.
  • Сброс через административную панель: «Настройки» → «Производительность» → «Управление кешем» → «Очистить кеш» с выбором конкретных областей.
  • Для разработки – добавление параметра ?clear_cache=Y в URL обновляет кэш компонента при следующем вызове.
  • При использовании кеша шаблонов через SetResultCacheKeys и StartResultCache, необходимо изменить параметры вызова или очистить вручную соответствующие папки в /bitrix/cache/.

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

Рекомендуется отключать кеширование компонентов в настройках шаблона сайта на этапе разработки, чтобы избежать постоянной необходимости в его сбросе. Для этого в шаблоне компонента можно задать cache_type => "N".

Автоматическая очистка кэша через агент или cron

Автоматическая очистка кэша через агент или cron

Для регулярной очистки кэша в Битрикс можно использовать агенты или задания cron. Агенты запускаются внутри системы при обращении к сайту, cron – по расписанию на сервере, независимо от активности пользователей.

Очистка через агент реализуется с помощью функции CAgent::AddAgent. Например, чтобы раз в сутки удалять все файлы в /bitrix/cache/ и /bitrix/managed_cache/, создаётся агент с вызовом пользовательской функции:


function ClearBitrixCache() {
BXClearCache(true);
$GLOBALS['CACHE_MANAGER']->CleanAll();
return "ClearBitrixCache();";
}

Зарегистрировать агент можно через административный интерфейс или в init.php. Интервал рекомендуется устанавливать не менее 86400 секунд, чтобы снизить нагрузку.

Задание через cron даёт больше контроля. Пример команды для очистки кэша каждые сутки:


0 3 * * * /usr/bin/php -f /var/www/site/bitrix/php_interface/clear_cache.php

Содержимое clear_cache.php:


CleanAll();

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

Разграничение и выбор видов кэша для удаления

Разграничение и выбор видов кэша для удаления

В Битрикс существует несколько типов кэша: HTML-кэш, кэш компонентов, кэш данных и кэш PHP. Каждый тип влияет на производительность и отображение сайта по-разному, поэтому их очистка должна быть осознанной.

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

Рекомендуется сначала очищать кэш компонентов и HTML, чтобы обновились визуальные изменения. Если проблемы сохраняются, переходить к сбросу данных и PHP-кэша. При масштабных изменениях удобнее использовать полный сброс, но без регулярной необходимости это снижает эффективность кеширования.

Выбор способа очистки зависит от поставленной задачи: для оперативного обновления интерфейса – удаление HTML и компонентов, для глубокой переработки – все виды кэша. Использование административной панели или консольных команд обеспечивает контроль и точечное удаление.

Вопрос-ответ:

Какие способы сброса кэша доступны в Битрикс и чем они отличаются?

В Битрикс есть несколько методов очистки кэша. Можно использовать административную панель, где предусмотрена кнопка для удаления всех кешированных данных. Также есть возможность сброса через консоль, выполняя специальные команды, что удобно для автоматизации и быстрого обновления. Кроме того, можно вручную удалить кеш-файлы с сервера, что позволяет контролировать, какие именно данные будут очищены. Разные способы подходят под разные задачи: для быстрой очистки через интерфейс, для скриптов автоматизации или для точечного удаления.

Почему после обновления сайта изменения не видны, хотя я сбросил кэш через панель управления?

Причина может быть в том, что часть кэша хранится не только в пользовательской области, но и на сервере, в папках кеша или в OPCache PHP. Очистка через панель затрагивает только кэш Битрикса, но не всегда затрагивает серверные слои. Для полного обновления лучше очистить кеш через консоль или вручную удалить кеш-файлы, а также перезапустить PHP, если используется OPCache. Это гарантирует, что браузер получит свежие данные.

Можно ли настроить автоматическую очистку кэша в Битрикс после внесения изменений?

Да, это можно сделать. В Битрикс есть возможности запуска специальных команд через планировщик задач (cron), который будет периодически очищать кеш. Также можно настроить скрипты, вызывающие сброс кеша сразу после обновления сайта или при публикации новых материалов. Такой подход поможет избежать ситуации, когда пользователи видят устаревшую информацию. Важно правильно настроить права доступа для запуска таких команд и следить за нагрузкой на сервер.

Что делать, если после сброса кэша на сайте появляются ошибки или некорректное отображение?

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

Как часто рекомендуется сбрасывать кэш на сайте Битрикс и влияет ли это на производительность?

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

Ссылка на основную публикацию