La diferencia en velocidad entre activar o no la caché, puede resultar en la reducción del tiempo de carga a la mitad.
Para activar la cache de Magento, solo es necesario acceder a Sistema => Gestión de la Caché, seleccionar todas las opciones disponibles y Activarlas.
En el siguiente vídeo explicamos cómo hacerlo y vemos diferencias en tiempo de carga con y sin el sistema de caché activado.
A continuación explicamos los diferentes tipos de caché y para qué se utilizan en cada caso:
Tipos de caché en Magento
Caché de parámetros de configuración
Esta caché guarda recopiladas todas las configuraciones existentes en los archivos xml de activación de módulos (archivos de configuración en la carpeta app/etc), así como en los archivos de configuración principales de cada extensión (archivos config.xml dentro de cada extensión).
Caché de Plantillas
Este caso caso también es similar, y se guarda toda la información existente en los archivos xml de layout, es decir toda la jerarquía de bloques que se incluyen en cada página y que se definen en los archivos existentes en las carpetas app/frontend/layout/
.
Bloquear salida HTML
Este tipo de caché almacena bloques habituales como el footer o el menú ya generados, de forma que Magento no tiene que consultar a la base de datos en cada petición de página desde los navegadores de los usuarios.
Este tipo de caché puede utilizarse también cuanto realizamos algunos bloques a medida, para acelerar el tiempo de carga de las páginas de nuestra tienda magento.
Caché de traducciones
Como su nombre indica, esta caché almacena todas las cadenas y las traducciones a cada uno de los idiomas disponibles en nuestra tienda Magento, es decir, todas las cadenas que incorporamos a Magento vía archivos csv en las carpetas app/locale
o en app/frontend/locale/translate.csv
Caché de datos de colecciones
La caché de colecciones es una característica apenas utilizada en el core de Magento, pero que puede venirnos realmente bien para realizar algunas optimizaciones avanzadas.
Por ejemplo podríamos idear un pequeños sistema que cachée la colección de productos de una página de categoría, evitando así que magento realice las diferentes consultas a la base de datos cada vez que un usuario llega a dicha página de nuestra tienda.
Caché de tipos de datos y atributos EAV
Los atributos definidos en nuestra tienda se clasifican en varios niveles, como entidades, sets de atributos y tipos de producto, etc. Cada vez que se necesita utilizar un modelo de datos EAV, magento necesita recopilar los diferentes atributos que forman dicho modelo para luego realizar las diferentes consultas a la base de datos.
Todos esos atributos se guardan en diferentes tablas de la base de datos y tenerlos recopilados y preparados para su uso es una ventaja importante, ya que durante cada carga de página pueden llegar a utilizarse decenas de modelos de datos.
Caché de servicios web (api.xml y api2.xml)
En este caso, la caché de servicios web almacena la recopilación de todas las configuraciones existentes en los archivos api.xml y api2.xml de nuestras extensiones y módulos del core de magento.
Dichos archivos corresponden a los servicios web que pueden ser utilizados para que un sistema externo se comunique con nuestra tienda online para, por ejemplo, actualizar productos, obtener estados de pedidos, etc.
La caché mejora el rendimiento, aunque algunos digan lo contrario
He visto algunos post en Internet, de personas que afirman que desactivar la caché de su tienda magento, hace que el rendimiento de la misma mejore, lo cual no deja de ser paradojico ya que precisamente el único sentido de tener una caché es mejorar el rendimiento.
Algunos autores incluso exponene gráficos de tiempos en los que efectivamente se aprecia una mejora en el rendimiento. Y es cierto, el caso puede darse, pero debemos entender el porque, y que en caso contrario estaremos confundiendo a la mayoría de administradores, que no apreciarán esa mejoría.
Es cierto que hemos visto ese comportamiento en algunas tienda y el motivo no es otro que una configuración de servidor inadecuada, o incluso de una elección de servidor inadecuada.
En ocasiones (muchas) se trata simplemente de un problema de permisos en la carpeta var
, en otras puede deberse a un acceso a disco lento (caso de instalaciones en servidores compartidos), pero siempre que nos hemos encontrado esta situación, el motivo real ha sido diferente.
Hey! Qué opinas sobre el artículo?