Цель: Настроить автоматический сброс неиспользуемого кэша и полное обновление кэша на сайте компании с использованием CMS Bitrix.
Настройка сброса неиспользуемого кэша
Для постоянного сброса неиспользуемого кэша на сайте, необходимо создать агент, который будет выполняться регулярно.
Добавление функции для сброса неиспользуемого кэша
В файле /bitrix/php_interface/init.php создайте следующую функцию:
function ClearUnusedCacheAgent() {
// Сбрасываем только неиспользуемый кэш
BXClearCache(false);
// Логирование выполнения (опционально)
file_put_contents(
$_SERVER['DOCUMENT_ROOT'] . '/bitrix/cache/unused_cache_log.txt',
"Unused cache cleared at " . date('Y-m-d H:i:s') . PHP_EOL,
FILE_APPEND
);
// Возврат функции агента для повторного выполнения
return "ClearUnusedCacheAgent();";
}
Добавление агента в админку
Перейдите в Настройки → Настройки продукта → Агенты
Нажмите “Добавить агент”
Укажите:
Имя функции: ClearUnusedCacheAgent();
Интервал выполнения: Минимум 5 минут (например, 300 секунд)
Модуль: main
Настройка полного сброса кэша с периодичностью
Для полного сброса кэша раз в неделю добавьте следующую функцию и агент.
Добавление функции для полного сброса кэша
function ClearAllCacheAgent() {
// Подключаем основной модуль
if (!\Bitrix\Main\Loader::includeModule('main')) {
// Логируем ошибку, если модуль не загружен
file_put_contents(
$_SERVER['DOCUMENT_ROOT'] . '/upload/error_log.txt',
"Module 'main' not loaded at " . date('Y-m-d H:i:s') . PHP_EOL,
FILE_APPEND
);
return false; // Завершаем выполнение, если модуль не загружен
}
try {
// Сброс HTML-кэша
BXClearCache(true);
// Сброс кэша компонентов
$cache = \Bitrix\Main\Data\Cache::createInstance();
$cache->cleanDir();
// Сброс управляемого кэша
global $CACHE_MANAGER;
if (is_object($CACHE_MANAGER)) {
$CACHE_MANAGER->CleanAll();
} else {
// Логируем ошибку, если объект $CACHE_MANAGER не существует
file_put_contents(
$_SERVER['DOCUMENT_ROOT'] . '/upload/error_log.txt',
"CACHE_MANAGER is not initialized at " . date('Y-m-d H:i:s') . PHP_EOL,
FILE_APPEND
);
}
// Логируем успешное выполнение
file_put_contents(
$_SERVER['DOCUMENT_ROOT'] . '/upload/clear_cache_log.txt',
"Cache cleared at " . date('Y-m-d H:i:s') . PHP_EOL,
FILE_APPEND
);
} catch (\Exception $e) {
// Логируем исключение, если оно произошло
file_put_contents(
$_SERVER['DOCUMENT_ROOT'] . '/upload/error_log.txt',
"Error: " . $e->getMessage() . " at " . date('Y-m-d H:i:s') . PHP_EOL,
FILE_APPEND
);
return false; // Завершаем выполнение при ошибке
}
// Возвращаем функцию агента для повторного запуска
return "ClearAllCacheAgent();";
}
Добавление агента для полного сброса кэша
Перейдите в Настройки → Настройки продукта → Агенты
Нажмите “Добавить агент”
Укажите:
Имя функции: ClearAllCacheAgent();
Интервал выполнения: 1 раз в неделю (например, 604800 секунд)
Модуль: main
3. Проверка и тестирование
Убедитесь, что агенты создаются без ошибок.
Выполните агенты вручную для тестирования через админку.
Проверяйте журналы (unused_cache_log.txt и clear_cache_log.txt) после выполнения полных и частичных сбросов кэша.
Теперь ваш сайт будет регулярно очищать неиспользуемый кэш, а также полностью обновлять кэш раз в неделю. Это обеспечит оптимальную производительность сайта и минимизацию нагрузки.
Повышайте производительность вашего сайта с помощью автоматизации кэширования от Kamensky-lab — профессиональная настройка и поддержка для вашего бизнеса.
Инструкция по автоматическому сбросу кэша сайта на CMS Bitrix
Цель: Настроить автоматический сброс неиспользуемого кэша и полное обновление кэша на сайте компании с использованием CMS Bitrix.
Настройка сброса неиспользуемого кэша
Для постоянного сброса неиспользуемого кэша на сайте, необходимо создать агент, который будет выполняться регулярно.
Добавление функции для сброса неиспользуемого кэша
В файле
/bitrix/php_interface/init.php
создайте следующую функцию:Добавление агента в админку
Укажите:
ClearUnusedCacheAgent();
300
секунд)main
Настройка полного сброса кэша с периодичностью
Для полного сброса кэша раз в неделю добавьте следующую функцию и агент.
Добавление функции для полного сброса кэша
Добавление агента для полного сброса кэша
Укажите:
ClearAllCacheAgent();
604800
секунд)main
3. Проверка и тестирование
unused_cache_log.txt
иclear_cache_log.txt
) после выполнения полных и частичных сбросов кэша.Теперь ваш сайт будет регулярно очищать неиспользуемый кэш, а также полностью обновлять кэш раз в неделю. Это обеспечит оптимальную производительность сайта и минимизацию нагрузки.
Рубрики
Свежие записи