Estrategia de Caché: Optimización de Rendimiento Multi-Capa

Este artículo explica cómo utilizamos el caché en cada capa para ofrecer cargas de página rápidas a nivel global.

El Problema: Las Peticiones Sin Caché Son Lentas

Sin caché, cada carga de página requiere:

  • Consultas a la base de datos: Obtener datos de productos, niveles de stock, precios

  • Llamadas a la API: Servicios externos para tarifas de envío, pagos

  • Cálculos: Cálculos de precios, verificaciones de disponibilidad

  • Carga de imágenes: Imágenes de productos, miniaturas

El caché elimina el trabajo repetitivo almacenando los resultados para su reutilización.

La Solución: Caché Multi-Capa

Implementamos caché en cinco capas:

  1. Caché del navegador: El dispositivo del usuario almacena recursos estáticos
  2. Caché de la CDN: Las ubicaciones de borde de CloudFront almacenan contenido en caché globalmente
  3. Caché de la aplicación: Valkey almacena datos a los que se accede con frecuencia
  4. Caché de la base de datos: Valkey se sitúa delante de la base de datos
  5. Caché de IA: DeepSeek almacena en caché las indicaciones del sistema

Capas de Caché

Caché del Navegador (CloudFront)

CloudFront proporciona caché del navegador con TTLs apropiados:

  • Imágenes: TTL largo (24-72 horas)

  • CSS/JS: Versionado con cache-busting

  • Respuestas de la API: TTL corto o sin caché

Caché de la CDN (CloudFront)

CloudFront almacena contenido en caché en ubicaciones de borde:

Caché de la Aplicación (Valkey)

Valkey proporciona caché en memoria:

  • Sesiones: Sesiones de usuario con expiración variable

  • Consultas populares: Términos más buscados

  • Autocompletado: Sugerencias de búsqueda

  • Recuentos de productos: Disponibilidad de stock

  • Mapeos de frases: Datos de extracción de filtros

Caché de la Base de Datos

Valkey se sitúa delante de la base de datos:

  • Datos del producto: Almacenados en caché para rendimiento

  • Costos de piezas: Almacenados en caché para cálculos de precios

  • Listas de SKU: Almacenadas en caché para listados de productos

  • Manifiestos de imágenes: Almacenados en caché para la carga de imágenes

Caché de IA (DeepSeek)

DeepSeek proporciona caché de indicaciones:

  • Indicaciones del sistema: Almacenadas en caché para eficiencia

  • Aciertos de caché: Reducen el uso de tokens

  • Fallos de caché: Generan contenido nuevo

Caché de Traducción

El caché de traducción utiliza múltiples capas:

  • Valkey: Tablas de frases almacenadas en caché en memoria

  • Archivos: Tablas de frases almacenadas de forma persistente en archivos JSON

  • Respaldo: Caché heredada basada en hash para compatibilidad con versiones anteriores

Invalidación del Caché

Invalidamos las cachés cuando:

  • Actualizaciones de productos: Invalidan las cachés de productos

  • Cambios de stock: Invalidan las cachés de recuentos de stock

  • Actualizaciones de contenido: Invalidan las cachés de páginas

  • Actualizaciones de traducción: Invalidan las cachés de traducción

Organización del Caché

Las cachés de Valkey están organizadas por función:

  • Sesiones: Estado de autenticación del usuario

  • Autocompletado: Datos de sugerencias de búsqueda

  • Consultas populares: Términos buscados con frecuencia

  • Mapeos de frases: Datos de extracción de filtros

  • Costos de piezas: Datos para cálculos de precios

Resumen

Nuestra estrategia de caché proporciona:

  • Multi-capa: Navegador, CDN, aplicación, base de datos

  • Eficiente: Valkey para acceso rápido en memoria

  • Inteligente: Caché de indicaciones de IA para ahorrar costos

  • Confiable: Múltiples mecanismos de respaldo