Цитата |
---|
Ашурали Умаров написал: Скажите, в одном из видеоуроков я увидел, что в $this->SetResultCacheKeys(['']); в эту функцию передают все ключи, например выводят продукцию помещают ее в arResult['production'] и этот production передают в $this->SetResultCacheKeys(['production']) и выводят это все в шаблоне. Вопрос в том, что даже если не помещать этот ключ, все равно кешируется хтмл вывод с этой продукцией, имеет ли тогда смысл помещать productuion в SetResultCacheKeys |
Вы правы, если вам не нужны значения arResult['production'] для еще чего-то кроме вывода в шаблоне (в не кешируемой части, например для установки значения мета тегов), то помещение в кеш не только не нужно, но и является критичной ошибкой из-за которой экзамен не будет сдан.
Посмотрите как указано требование к решению
(!) В кеш компонента сохраняются значения только тех переменных, которые
будут использоваться далее в некешируемой части компонента. Это необходимо
чтобы не допустить разрастание размера файлов кеша и роста ресурсов на их
парсинг. При большом объеме данных в файлах кеша можно получить не
прирост производительности, а обратную ситуацию. По умолчанию компонент
сохраняет в кеш весь arResult (поведение для обратной совместимости),
разработчик обязательно должен поместит в кеш только те данные, что будет
использовать в некэшируемой части.
Подробно этот вопрос разбирали тут