¡Huy! Este email no tiene permiso para la apertura de ticket. Por favor, póngase en contacto con el responsable de tu tienda para facilitar el acceso.

Cómo funciona el caché de VTEX?

El concepto de caché es bastante difundido como siendo un dispositivo de acceso rápido. En VTEX no es diferente. De igual forma, se utiliza el caché como un recurso que aumenta el desempeño del cargamento de páginas y archivos.

Cuando una página o archivo inicia su cargamento, a través de la URL, el browser realiza una solicitud para el servidor que, a su vez, tiene la función de responder con informaciones relevantes para aquella solicitud. La solicitud del browser es conocida como request y la respuesta del servidor como response. Se utilizarán mucho esos términos en el transcurrir de ese artículo. Vea el esquema abajo:

Se representa el caché a través de una capa entre el browser y el servidor y, así, cuando ocurre un request, al contrario del sistema buscar las informaciones directamente en el servidor, en primero él se dirige a esa capa, lo que vuelve la respuesta mucho más ágil. Vea el esquema abajo:

Sin embargo, como el dato actualizado está en el servidor, de tiempos en tiempos es necesario actualizar el caché. Ese tiempo varía de acuerdo con el tipo de request, o sea, si el request es una página, el tiempo es uno, si es un archivo javascript o CSS es otro y, aún, si es una imagen, otro.

Un sitio web posee inúmeras páginas: Home, páginas de departamento y categoría, de marca, búsqueda, producto etc. Dependiendo del árbol de categoría y del mix de productos, el sitio web puede alcanzar más de 10 mil páginas. Se carga cada una de esas páginas a través de una URL, o sea, si un sitio web posee 10 mil páginas, él también poseerá 10 mil URLs distintas. La capa de caché guarda una versión para cada una de esas páginas (URLs), o sea, en el momento que un usuario hace clic en algún producto en cualquier escaparate del sitio web, la página de aquel producto empieza a cargarse con las informaciones en caché de aquella URL de producto. Así procede también con las demás páginas del sitio web. Lo más importante, aquí, es comprender que se almacena el caché en base, siempre, a las URLs.

Si pudiésemos mirar la capa de caché como un banco de dados (o una plantilla excel), en general, veríamos una tabla con dos columnas: URL y contenido. La columna “URL” representando el nombre del request en caché (página o archivo) y la columna “contenido” representando el código html o binario (en caso de archivos) de aquel request.

Así, cuando ocurre un request, el sistema busca en esa gran tabla, a partir de la “URL”, por el “contenido”, o regresando para el browser.

Como ya se mencionó, el tiempo de duración del caché varía para cada tipo de request. Sigue la tabla con el tiempo de caché para cada tipo de request:

Cuando el caché de un request (página o archivo) expira, cuando tiene lugar una nueva solicitud, o sea, cuando se carga nuevamente la URL, el sistema se dirige al servidor, rescata las informaciones actualizadas para aquella solicitud y actualiza el contenido de aquella URL en el caché. Después de actualizada, la versión en cache vuelve a ser retornada para nuevas solicitudes de la URL. Vea el esquema ilustrando ese caso:

En ese aspecto, podemos separar las respuestas en dos grupos: En caché y fuera de caché.

Respuestas en caché: Son respuestas regresadas por la capa de caché, con mayor desempeño.

Respuestas fuera de caché: Son respuestas que normalmente están expiradas en la capa de caché y, así, son regresadas por el servidor, normalmente más lentas.

En la práctica, para identificar si una respuesta está en caché o no, acceda a la herramienta de desarrollador del browser y localice requests nativos de la plataforma VTEX. Cuando haga clic en el request, el primero cuando se carga la página, localice, entre Los headers, la propiedad “X-VTEX-Caché-Status-Janus-Edge”. Caso esté rellenado el valor con “HIT”, significa que el contenido exhibido es un contenido en caché, o sea, fue regresado por la capa de caché. Si el valor es “MISS”, significa que el contenido exhibido no es un contenido en caché y fue regresado directamente del servidor. Más una información relevante que se puede identificar en los headers de los requests es la fecha en que se creó el caché. Esa información está disponible en la propiedad “X-vtex-processed-at”.

 

No obstante el hecho de que archivos javascript y CSS también tienen la duración de caché establecida, como esos tipos de archivo son utilizados en el formateo de los layouts y, por eso, en algunos casos, necesitan tener su actualización más ágil, el portal posee una inteligencia que identifica alteraciones en sus contenidos, rompiendo con la capa de caché. En líneas generales, si se altera algún archivo javascript o CSS en el Administrador de Portal (/admin/a/), se lo actualizará luego que expira el caché de la página que lo llama. Sin embargo, para que eso ocurra, su llamada en el template no puede poseer cualquier querystring, o sea, ella debe ser limpia, sin parámetros.

Más informaciones importantes:

  • Cambio de precio puede demorar hasta 30 minutos;
  • Cambio de dato del catálogo (producto, SKU, categoría, marca, precio, etc.) puede demorar hasta 2 horas;
  • Cambio de layout puede demorar hasta 40 minutos;

A pesar de parecer compleja, la capa de caché es simples y trae grandes beneficios para el desempeño de la tienda como un todo.



¿Tiene más preguntas? Enviar una solicitud

Comentarios

Tecnología de Zendesk