Skip to content

Команды управления кешем

Команды для очистки кеша Битрикс: полная очистка всех типов кеша и выборочная очистка по типу.

cache:clear

Выполняет полную очистку всех типов кеша в системе.

Синтаксис

bash
php bitrix.php cache:clear

Что очищается

Команда очищает следующие типы кеша:

  1. Основной кеш - кеш данных приложения
  2. Кеш-менеджер - управляемый кеш
  3. Тегированный кеш - кеш с тегами
  4. Композитный кеш - кеш страниц (HTML-кеш)
  5. Кеш компонентов - кеш компонентов Битрикс

Примеры использования

bash
# Полная очистка кеша
php bitrix.php cache:clear

# С подробным выводом
php bitrix.php cache:clear -v

# Тихий режим (без вывода)
php bitrix.php cache:clear -q

Когда использовать

Очистка кеша необходима после:

  • Обновления модулей
  • Изменения настроек системы
  • Изменения шаблонов или компонентов
  • Обновления инфоблоков
  • Изменения прав доступа
  • Изменения структуры сайта
  • При возникновении проблем с отображением данных

Производительность

⚠️ Внимание! После очистки кеша система будет работать медленнее, пока кеш не будет восстановлен. Планируйте очистку кеша на периоды низкой нагрузки.


cache:type:clear

Очищает кеш определенного типа.

Синтаксис

bash
php bitrix.php cache:type:clear <type>

Аргументы

  • type - тип кеша для очистки

Доступные типы кеша

Наиболее часто используемые типы:

  • menu - кеш меню
  • iblock - кеш инфоблоков
  • catalog - кеш каталога
  • sale - кеш модуля интернет-магазина
  • form - кеш веб-форм
  • main - основной кеш
  • currency - кеш валют
  • htmlpages - HTML-кеш страниц
  • user_option - кеш пользовательских настроек

Примеры использования

bash
# Очистка кеша меню
php bitrix.php cache:type:clear menu

# Очистка кеша инфоблоков
php bitrix.php cache:type:clear iblock

# Очистка кеша каталога
php bitrix.php cache:type:clear catalog

# Очистка кеша интернет-магазина
php bitrix.php cache:type:clear sale

# Очистка HTML-кеша
php bitrix.php cache:type:clear htmlpages

Когда использовать выборочную очистку

Выборочная очистка кеша полезна, когда:

  • Изменены данные только в одном модуле
  • Обновлены элементы каталога
  • Изменена структура меню
  • Не нужно очищать весь кеш (экономия времени)

Преимущества

✅ Быстрее полной очистки
✅ Меньше влияния на производительность
✅ Точечное решение проблем
✅ Можно использовать чаще


Использование в автоматизации

Регулярная очистка кеша

bash
# Очистка кеша каждый день в 3:00
0 3 * * * cd /var/www/bitrix && php bitrix.php cache:clear

Очистка после импорта данных

bash
#!/bin/bash
# Скрипт импорта с очисткой кеша

# Импорт данных
/path/to/import-script.sh

# Очистка кеша каталога и инфоблоков
cd /var/www/bitrix
php bitrix.php cache:type:clear iblock
php bitrix.php cache:type:clear catalog

echo "Импорт завершен, кеш очищен"

Очистка кеша после развертывания

bash
#!/bin/bash
# deploy.sh

# Обновление кода
git pull origin master

# Установка зависимостей
composer install

# Очистка всего кеша
cd bitrix
php bitrix.php cache:clear

# Перезапуск PHP-FPM (опционально)
sudo systemctl restart php8.1-fpm

Мониторинг и очистка по расписанию

bash
#!/bin/bash
# Очистка определенных типов кеша по расписанию

cd /var/www/bitrix

# Понедельник - полная очистка
if [ $(date +%u) -eq 1 ]; then
    php bitrix.php cache:clear
else
    # Остальные дни - только актуальные типы
    php bitrix.php cache:type:clear iblock
    php bitrix.php cache:type:clear menu
    php bitrix.php cache:type:clear catalog
fi

Продвинутые сценарии

Очистка кеша с уведомлением

bash
#!/bin/bash
# Очистка кеша с отправкой уведомления

cd /var/www/bitrix

if php bitrix.php cache:clear; then
    echo "Кеш успешно очищен" | mail -s "Cache cleared" admin@example.com
else
    echo "Ошибка при очистке кеша" | mail -s "Cache clear ERROR" admin@example.com
fi

Troubleshooting

Кеш не очищается

Проблема: После выполнения команды кеш остается

Решения:

  1. Проверьте права доступа к директории /bitrix/cache/
  2. Убедитесь, что процесс PHP имеет права на удаление файлов
  3. Проверьте, не используется ли внешний кеш (Redis, Memcache)
  4. Очистите кеш вручную: rm -rf /path/to/bitrix/cache/*

Ошибка прав доступа

Проблема: Permission denied при очистке кеша

Решения:

  1. Проверьте владельца директории кеша: ls -la /path/to/bitrix/cache/
  2. Установите правильного владельца: chown -R www-data:www-data /path/to/bitrix/cache/
  3. Установите права: chmod -R 775 /path/to/bitrix/cache/

Сайт медленно работает после очистки

Проблема: Значительное снижение производительности после очистки кеша

Решения:

  1. Это нормально - кеш восстанавливается при обращении к страницам
  2. Используйте выборочную очистку кеша вместо полной
  3. Очищайте кеш в периоды низкой нагрузки
  4. Рассмотрите возможность прогрева кеша после очистки

Внешний кеш не очищается

Проблема: Redis/Memcache кеш не очищается командой

Решения:

  1. Очистите Redis вручную: redis-cli FLUSHALL
  2. Очистите Memcache: echo "flush_all" | nc localhost 11211
  3. Проверьте настройки подключения к внешнему кешу в .settings.php

Полезные советы

💡 Используйте выборочную очистку - это быстрее и меньше влияет на производительность

💡 Планируйте очистку - очищайте кеш в периоды низкой нагрузки (ночью, ранним утром)

💡 Автоматизируйте - настройте регулярную очистку через cron

💡 Мониторьте - следите за размером директории кеша, очищайте при необходимости

💡 Комбинируйте - используйте полную очистку редко, выборочную - часто


Смотрите также

Документация BXMax CLI