Для чего использовать кэширование в собственных компонентах 2.0? Ведь, казалось бы, проще всего обращаться напрямую через API в базу данных, получать информацию, форматировать ее в шаблоне компонента и отображать пользователю.
Все дело в производительности веб-проекта при одновременной работе с ним множества пользователей. Если компонент 2.0 отрабатывает без кэширования за 0.1 сек, выполняя, допустим, 100 запросов к базе данных, то, при одновременной работе 100 пользователей не только резко возрастет нагрузка на сервер базы данных, но и время отработки компонента может вырасти, к примеру, до 5-10 секунд!
Не менее важный момент, на который стоит обратить внимание - скорость отработки компонента при получении данных из кэша. Если без кэширования компонент отрабатывает за 2 сек. для каждого пользователя, то при использовании кэширования компонент для одного пользователя отработает за 2 сек., а для остальных 100 пользователей в ближайшие полчаса, допустим, будет отрабатывать 0.1 сек.
На какой период времени кэшировать информацию в собственных компонентах 2.0? Если используется "Авто+Управляемое" кэширование - информация будет отдаваться из кэша до тех пор, пока она не поменяется в базе данных и кэш сбросится автоматически. Если используется "Авто" кэширование - рекомендуется устанавливать максимально допустимый с учетом бизнес-логики интервал кэширования. Например, для редко обновляемого "списка статей" можно установить интервал кэширования в 12 часов, а для часто обновляемого - 10 минут.
Таким образом, при использовании кэширования в собственных компонентах 2.0: