ИМХО сильно зависит от логики, кеширую:
— данные (Вывод в Модели), как правило основного контента, например большой запрос, который бьется на страницы
— кеширую HTML блок (В контроллере), обычно топы, или тематические банеры по тематическим разделам или прочие предложения, не основной контент, но часто запрашиваемый ) Как правило такой контент расчитывается по крону.
— полностью HTML страницу (как правило index.htm или часто-запрашиваемых страниц). Данное кеширование у меня настроено средствами WEB сервера
При желании и кеширование блоков можно настроить средствами WEB сервера, используя ssi. Я писал об этом на Хабре
habrahabr.ru/post/109050/
Но в этом случае фреймворк значительно усложняется