Some of they say, that the caching should happen in the model, other say that it should happen in the controller.
(ATM i'm always reading & writing in the controller and never in the model), but i thought very often, that it would be much better in the model, because i could use model->getFromCache() instead of
$cache = cache::getInstance(); if ($cache->read('myKey..'); $foo = $model::read(); $cache->write('key', $foo); ..
I know there is no "real way", it's like the discussion about fat model vs fat controller^^
Edit: nevermind, i've saw that xenforo provides already cacheaccess in the model