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:
- Caché del navegador: El dispositivo del usuario almacena recursos estáticos
- Caché de la CDN: Las ubicaciones de borde de CloudFront almacenan contenido en caché globalmente
- Caché de la aplicación: Valkey almacena datos a los que se accede con frecuencia
- Caché de la base de datos: Valkey se sitúa delante de la base de datos
- 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:
-
Recursos estáticos: Imágenes de productos, CSS, JS
-
Páginas de producto: TTL de 24 horas
-
Páginas de consulta: TTL de 24 horas
-
Respuestas de la API: Sin caché
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