en EZ Components

Cacheo en PHP

En una web que recibe muchas visitas el rendimiento del sistema puede ser muy importante. Dentro una web existen infinidad de tareas que se ejecutan una y otra vez para generar lo mismo. ¿Y si sólo se ejecutara una web la generación y a partir de ahí se accediera a una copia que guardáramos? A la técnica de ahorrar CPU evitando generar una y otra vez el mismo código se le llamar cachear.

Diferentes tipos de cacheos:

  • Cacheo de plantillas: cada vez que alguien accede a una web dinámica, el sistema genera el HTML a partir de una base de datos y una serie de plantillas. Se puede hacer que se genere la primera vez, y luego se acceda a un HTML con la plantilla ya montada.
  • Cacheo de datos de la aplicación: por ejemplo, los datos de configuración. En vez de hacer una consulta SQL cada vez que queremos saber un dato de configuración de la aplicación (Ej.: número de filas paginadas en una tabla), se puede hacer la consulta la primera vez, y luego guardar una versión local de la configuración.
  • Cacheos de llamadas a base de datos: en muchas webs se realizan muchas más consultas SELECT sobre la base de datos, que modificaciones con INSERT, UPDATE y DELETE. Se puede hacer que hagamos la consulta SELECT una vez, y todas las posteriores coja los datos de una versión guardada.
  • Cacheos de scripts del servidor: es la opción más bestia. Se trata de cachear directamente la llamada. En vez de centrarse en cachear sólo las plantillas o las llamadas, etc. se hace que cuando se haga una petición sobre una URL se guarde lo que se devuelve al navegador y a partir de entonces se devuelva la versión guardada.

Los sistemas de cacheo no están exentos de problemas. El primero es evidente: ¿qué pasa si estoy devolviendo una versión guardada de una página cuyos datos ya han cambiado? Antes de aplicar una técnica de cacheo conviene estudiar si realmente su pondrá un beneficio.

A continuación diferentes mecanismos de cacheo y artículos:

Escribe un comentario

Comentario