No soy un experto con CI, estoy empezando y no he probado todavía lo de Cachear, PERO, del manual he leido lo siguiente, espero que te sirva:
Cita: Habilitar el Almacenamiento en Caché
Para habilitar el almacenamiento en caché, poner la siguiente etiqueta en cualquiera de sus funciones controlador:
$this->output->cache(n);
Donde n es la cantidad de minutos que desea que la página permanezca cacheada entre refrescos.
La anterior etiqueta puede ir en cualquier parte dentro de una función. No se ve afectada por el orden en que aparece, por lo que ubíquela donde sea más lógico para Ud. Una vez que la etiqueta está en su lugar, las páginas comienzan a cachearse.
Atención: Debido a la forma en que CodeIgniter almacena el contenido para la impresión, el almacenamiento en caché funcionará solamente si se está generando salida para su controlador con una vista.
Nota: Antes que se puedan escribir los archivos de caché, se tienen que establecer los permisos de archivo en su carpeta application/cache para que se pueda escribir.