Рейтинг: 0.3403  
На голосовании
Предложил Бугай Максим 04.10.2017 04:22:17

Несколько типов кеша на одном сайте

Часто возникает потребность использовать сразу несколько типов кеша. Например, маленькие, но сильно чувствительные к быстродействию данные хранить в оперативной памяти, а тяжёлый HTML-кеш в файлах, но сейчас можно установить только один движок кеша на весь сайт.

Предложение:
Сделать настройки кеширования в settings.php в следующем виде:
...
'cache' => <настройки>,
'cache_extra' => array(
  'key1' => <настройки>,
  'key2' => <настройки>,
)
...
В конструкторе Bitrix\Main\Data\Cache, и соответственно  старых  CPhpCache и CPageCache, передавать в качестве параметра ключ для секции настроек, которые в нём используются.

По умолчанию для всех системных функций будет использоваться кеш по умолчанию.
Для своих модулей, там где это надо, свои настройки с фолбеком на настройки по умолчанию.
Рейтинг: 4.0194  
На голосовании
Предложил Гелейшев Павел 07.02.2017 12:48:00

Оптимизация компонента bitrix:catalog.section.list

Если в построении URL используется #SECTION_CODE_PATH#, то компонент bitrix:catalog.section.list начинает генерировать ОЧЕНЬ большое количество запросов.

например, при выводе списка из 40 разделов, генерируется 176 запросов.

Если разделов много, то может быть и 1000 запросов.

Необходимо сделать кеширование URL к разделу (по примеру фасетного индекса для умного фильтра) и брать закешированные данные.