Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Проблема разрастания кэша меню

00 голосов
1
Столкнулся с проблемой разрастания кэша из-за меню. Кэш меню занимает больше гига, но при этом состоит только из двух разных файлов под разными именами, один 1.2 кб размером, второй 430 байт размером. Соответственно меню первого и второго уровня. И вот таких файлов очень много, больше гига получается. Что удивительно, само меню-то на всем сайте одинаково, только в 5 разделах второго уровня появляются разные меню второго уровня. Я логично предполагал, что и кэша будет столько же, сколько изменений в меню вносится, то есть в лучшем случае десяток.

Посмотрел код bitrix:menu, а там cache_id формируется следующим образом:
Код
   $strCacheID = $APPLICATION->GetCurPage().
      ":".$arParams["USE_EXT"].
      ":".$arParams["MAX_LEVEL"].
      ":".$arParams["ROOT_MENU_TYPE"].
      ":".$arParams["CHILD_MENU_TYPE"].
      ":".LANG.
      ":".SITE_ID.
      ""
   ;

Получается вся проблема в наличии $APPLICATION->GetCurPage() - он на каждой странице разный. А страниц на сайте больше 100 тысяч (почти все формируются по ЧПУ). Как жить с этим?
спросил 20 Май, 13 от HolyRage (280 баллов)

1 Ответ

00 голосов
Отключите кэш для меню. Это относительно новый и опасный параметр, который подходит далеко не всем сайтам.

P.S. В смысле управляемый кэш компонента меню, а не системный кэш, который включается константой CACHED_menu
ответил 20 Май, 13 от Delp (7,220 баллов)

Похожие вопросы

0 голосов
3 ответов
спросил 20 Фев, 14 от Dryad (100 баллов)
0 голосов
5 ответов
спросил 10 Май, 13 от Fierce88 (440 баллов)
0 голосов
2 ответов
спросил 11 Фев, 14 от darunez (100 баллов)
0 голосов
5 ответов
спросил 30 Окт, 13 от Misako (120 баллов)
0 голосов
0 ответов
спросил 12 Авг, 13 от ALONE (140 баллов)