Для чего использовать кэширование в собственных компонентах 2.0? Ведь, казалось бы, проще всего обращаться напрямую через API в базу данных, получать информацию, форматировать ее в шаблоне компонента и отображать пользователю.

Все дело в производительности веб-проекта при одновременной работе с ним множества пользователей. Если компонент 2.0 отрабатывает без кэширования за 0.1 сек, выполняя, допустим, 100 запросов к базе данных, то, при одновременной работе 100 пользователей не только резко возрастет нагрузка на сервер базы данных, но и время отработки компонента может вырасти, к примеру, до 5-10 секунд!

Не менее важный момент, на который стоит обратить внимание - скорость отработки компонента при получении данных из кэша. Если без кэширования компонент отрабатывает за 2 сек. для каждого пользователя, то при использовании кэширования компонент для одного пользователя отработает за 2 сек., а для остальных 100 пользователей в ближайшие полчаса, допустим, будет отрабатывать 0.1 сек.

На какой период времени кэшировать информацию в собственных компонентах 2.0? Если используется "Авто+Управляемое" кэширование - информация будет отдаваться из кэша до тех пор, пока она не поменяется в базе данных и кэш сбросится автоматически. Если используется "Авто" кэширование - рекомендуется устанавливать максимально допустимый с учетом бизнес-логики интервал кэширования. Например, для редко обновляемого "списка статей" можно установить интервал кэширования в 12 часов, а для часто обновляемого - 10 минут.

Таким образом, при использовании кэширования в собственных компонентах 2.0:

- резко увеличивается производительность веб-проекта и его устойчивость к нагрузкам, т.к. нагрузка на базу данных качественно минимизируется и веб-решение сможет обслужить уже, к примеру, не 50 000 пользователей в сутки, а 1 000 000 и больше.
- веб-страницы загружаются в браузер пользователя значительно быстрее (десятые доли секунды), т.к. информация для их построения сохранена на сервере и не берется из базы данных

Необходимо проверить в настройках каждого собственного компонента 2.0 в публичной части что кэширование включено и установлено адекватное решаемой задаче время кэширования.

Обычно настройки расположены в разделе "Настройки кэширования" и называются "Тип кэширования" и "Время кэширования (сек.)". Тип кэширования должен быть установлен в "Авто+Управляемое" или "Авто". Если тип установлен в значение "Кэшировать" - рекомендуется для удобства администрирования системы поменять его на "Авто".

В административной части в разделе "Настройки > Настройки продукта > Автокеширование" на вкладке "Кэширование компонентов" должно быть включено автокэширование, а на вкладке "Управляемый кэш" должно быть включено управляемое кэширование (в большинстве типовых веб-проектов его рекомендуется не выключать).

Время кэширования для режима "Авто+Управляемое" - должно быть большим, к примеру, 1 год. Время кэширования для режима "Авто" зависит от частоты обновления информации - для некоторых компонентов 2.0 устанавливается период в 24 часа, а для часто обновляемых либо рекомендуется использовать управляемое кэширование или установить значение, к примеру, в 10 минут.