Модуль для 1с-битрикс: видно, сколько занимает каждая кеш-директория, и чистится только выбранное
Кнопка есть, цифр нет
три вещи, которые задавали границы решения
Кеш живёт в пяти местах
managed_cache, stack_cache, обычный кеш, html-кеш композита и resize_cache картинок — у каждого свой путь и свой характер роста.
Свои временные каталоги есть почти у каждого сайта
Конвертированные картинки, выгрузки, служебные папки модулей. Штатная очистка о них не знает вовсе.
Полная очистка на бою стоит скорости
Сброшенный кеш надо прогревать заново, и всё это время сайт отвечает медленнее. Значит очистка должна быть выборочной.
Видно, что занимает место
Каждая директория — строка с типом, путём, количеством файлов и объёмом. Пока ничего не отмечено, кнопка очистки неактивна. Отметить можно одну строку, несколько или все разом.
- managed_cache и stack_cache
- обычный кеш и html-кеш композита
- resize_cache изображений
- пересчёт сразу после очистки
Свои каталоги
Путь добавляется через форму или встроенный обзорщик битрикса. Дальше каталог живёт в таблице наравне со штатными — с файлами, объёмом и галочкой; лишняя строка убирается крестиком.
- форма пути или обзорщик
- считается и чистится как штатный
- под конвертированные картинки, выгрузки, служебные папки
Журнал операций
Каждая очистка пишется в журнал событий битрикса: время, пользователь, каталог, тип операции. Пропущенные и несуществующие пути попадают туда же — видно и то, что не сделано.
- запись по каждому каталогу и итог операции
- доступ только администраторам
- csrf на ajax-запросах, выход за корень сайта заблокирован