Как очистить кэш сайта 1С-Битрикс

Современные сайты сталкиваются с необходимостью обработки не маленьких объемов данных. Это приводит к заторможенной работе и снижению производительности. Главный способ борьбы с этим – использование системы кэширования. В контексте 1С-Битрикс, эта система со сложными особенностями, и правильное управление ею становится ключевым аспектом оптимизации работы сайта.

Что такое кэш 

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

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

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

Для чего нужно чистить кеш

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

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

Наконец, он занимает дополнительное место на диске, и его регулярная очистка позволяет освободить пространство, предотвращая переполнение памяти устройства. 

Кэш в 1-Битрикс

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

Для осуществления процесса кэширования в рамках системы предусмотрены два ключевых вида:

  • CPageCache. Предназначен для сохранения в кэше результатов выполнения скрипта HTML.
  • CPHPCache. Используется для сохранения в кэше переменных HTML и PHP.

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

CPhpCache

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

  • StartDataCache осуществляет запуск процесса инициализации кэширования и буферизации, а также предоставляет вторую функцию – извлечение содержимого из кэша.

  • EndDataCache осуществляет сохранение HP переменных в файлы кэша и HTML, хранящегося в буфере.

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

  • GetVars выполняет функцию возврата PHP переменных, которые были закреплены в кэше.

  • Метод Output отображает результат, который был сохранен в HTML кэше.

  • IsCacheExpired служит для проверки актуальности кэша, основываясь на его длительность существования.

  • CleanDir отвечает за устранение ненужных данных в кэше по заданному параметру basedir.

  • bortDataCache прекращает формирование текущего кэша.

CPageCache 

Применяет те же методы, что и CPhp, кроме GetVars, CleanDir и AbortDataCache, которые в данном контексте не применяются.

Почему разрастается папка кэша

Результаты хранения остаточных данных размещаются в папке /bitrix/cache/. В этой папке содержатся остаточные файлы, не поддающиеся управлению. Иногда, при генерации этих файлов, им присваиваются определенные права доступа, которые оказываются недостаточными для будущего изменения или удаления в рамках процесса веб-сервера. 

При наличии действующего срока кэширования используется заранее сформированный файл вместо выполнения ресурсоемкого кода. Но необдуманное применение механизма кэширования может привести к заметному росту объема каталога /bitrix/cache/.

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

Главные причины

  • Повышенный объем папки обусловлен большим размером веб-сайта. Предположим, у интернет-магазина есть 8 тысяч единиц продукции в одной категории, с 8 товарами на странице и заданным кэшем страницы в 10 Кб. В случае кэширования страниц отдельно, общий объем данных становится слишком велик – 80 Мб для 8 тысяч товаров. 

При применении двух вариантов отображения товаров, таких как плитка и список, объем кэша удваивается. Также учитывается кэширование результатов фильтрации. Таким образом, размер каталога может превысить 160 Мб даже при небольшом размере кэша.

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

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

  • Первый – оптимальный выбор срока хранения данных, второй – увеличение объема пространства на диске.

  • Второй – неправильный расчетом периода кэширования. Если определен срок хранения остаточных данных – 6 месяцев. В течение этого времени к нему не поступало обращений. Это особенно проблематично при больших объемах кэша, например, от 600 Кб до 1 Мб. Даже если он остается неиспользованным, он будет сохраняться в течение продолжительного времени.

Решение здесь простое: необходимо тщательно выбирать период кэширования и правильно настраивать характеристики компонентов. Возможно, потребуется уменьшить период, а определенные данные вообще не стоит кэшировать.

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

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

Как сбросить кэш 1с-битрикс

В системе 1С-Битрикс доступны разные методы для выполнения сброса. Один из них – использование классов CPageCache и CPHPCache. Перед изменениями, внесенными в дизайн сайта или его компоненты, необходимо провести очистку кэша для обновления информации.

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

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

   1. Пройдите авторизацию в панели сайта (административной).

   2. В части "Настройки" в левом меню нажмите на "Настройки продукта" и выберите "Автокеширование".

   3. Перейдите на вкладку "Очистка файлов кеша" и определитесь с нужным вариантом, затем нажмите "Начать". 


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

Очистка кэша вида «Композитный сайт» в 1C-Bitrix:

  • При применении технологии «Композитный сайт», вы можете осуществить очистку ее кэша через админпанель сайта. Вот последовательность: «Настройки» – «Настройки продукта» – «Композитный сайт» – «Страницы».

  • Или сделайте очистку через API, выполнив соответствующий PHP-код по пути «Настройки» – «Инструменты» – «Командная PHP-строка».

  • Или используйте планировщик задач (Cron), указав выполнение определенной команды в указанный временной интервал.

Правильная настройка кэширования 1С-битрикс

Рекомендуемый вид кэширования – "Авто + управляемое", предпочтительное время в пределах 10-40 часов. Иногда программисты могут ошибочно вводить избыточное количество нулей в параметрах. В моем опыте был случай, когда коллеги ошиблись и установили кэш на 36 миллионов секунд, что равно примерно 14 месяцам. Естественно, за это время объем значительно вырос, достигнув около 100 гигабайт.

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

В состав системы Bitrix входят следующие подходы к кэшированию:

  • Автокэширование. Для построения веб-страниц применяются динамические компоненты, оборудованные встроенной системой управления кэшированием. Этот функционал становится активным через соответствующий переключатель на административной панели.

  • Неуправляемое кэширование. Эта опция предоставляет возможность установить правила для кэширования ресурсоемких элементов страниц. Кэш здесь не обновляется автоматически после изменения исходных данных, а сохраняется в течение заданного периода.

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

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

Вывод

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

Оптимизация кэша в 1С-Битрикс – важный шаг к повышению работоспособности сайта. Управление кэшем поможет сделать сайт стабильнее для посетителей.




Заказать разработку сайта

Digital-агентство AiR
Орджоникидзе, 38 630099 Новосибирск
+7(383)3830717 sale@airws.ru