Dao + Cache + Pagination 的问题

由于打算使用Yii做一个比较大型的网站,出于性能的考虑,在主要的内容列表部分不打算使用ActiveRecord,但如果使用DAO方式查询数据库,又感觉很多Yii的方便特性用不上。

例如分页问题,在Model中要写一个获取分页数据的方法,那数据的总数该放在哪儿获取?一开始想让Model中的方法返回一个SqlDataProvider ,这样分页也能在Controller中比较优雅的处理了,但这样缓存又该怎么加?想来想去也没有个比较好的方案,我是不是强迫症了?各位,给指条明路吧!