4.7 Uso de cache en las vistas

El manejador de vistas proporciona mecanismos a través de los cuales las vistas, los partials y los templates se pueden cachear, el usuario indica el tiempo durante el cual estos estarán almacenados en la cache de manera que el manejador de vistas cargará estos elementos sin necesidad de procesarlos, aumentando el rendimiento de la aplicación.

En este sentido para indicar el tiempo de cache se sigue el formato de la función strtotime de PHP. Ejemplo: ‘+1 week’;

4.7.1 Cache de vistas

Para cachear una vista se utiliza el método View::cache() en el controlador.

<?php
class UsuarioController extends AppController {
public function index(){
// Indica el tiempo de cache de la vista
View::cache(‘+20 days’);
}
}

Cabe destacar que la acción en el controlador se ejecuta, debido a que los datos pasados a la vista pueden de igual manera ser requeridos en el template.

4.7.1.1 Grupos de vistas en cache

Las vistas cacheadas se pueden almacenar en grupos. Los grupos son muy interesantes, ya que se puede borrar la cache por grupos también. Ejemplo: guardar cache de posts en un grupo, al crear, editar o borrar un post, podemos borrar la cache de ese grupo, para que se regenere la cache.

En este caso es necesario indicar en el método View::cache() que se cacheará una vista en un grupo específicoo.

<?php
class UsuarioController extends AppController {
public function index(){
// Indica el tiempo de cache de la vista
View::cache(‘+20 days’, ‘view’, ‘miGrupo’);
}
}

4.7.2 Cache de templates

Cachear un template consiste en cachear en conjunto tanto la vista y template para una url específica. Para cachear un template se usa el método View::cache() en el controlador indicando el tiempo durante el cual estará cacheado el template.

<?php
class UsuarioController extends AppController {
public function index(){
// Indica el tiempo de cache de template
View::cache(‘+20 days’, ‘template’);
}
}

Cabe destacar que para aumentar el rendimiento no se ejecuta la acción en el controlador, debido a que mostrar el template es el último paso que realiza el manejador de vistas para mostrar la vista al usuario y en este paso ya todos los datos enviados a la vista y template han sido utilizados.

4.7.3 Cache de partials

Para cachear partials se debe indicar como segundo argumento al invocar View::partial() el tiempo durante el cual se cacheará.

<?php View::partial(‘usuario’, ‘+1 day’) ?>

<?php View::partial(‘usuario’, ‘+1 day’, array(‘nombre’ => ‘pepe’)) ?>

Leave a Reply

Your email address will not be published. Required fields are marked *