Stratégie de mise en cache : optimisation des performances multi-couches
Cet article explique comment nous utilisons la mise en cache à chaque couche pour offrir des chargements de page rapides à l'échelle mondiale.
Le problème : les requêtes non mises en cache sont lentes
Sans mise en cache, chaque chargement de page nécessite :
-
Requêtes à la base de données : Récupération des données produits, niveaux de stock, tarifs
-
Appels API : Services externes pour les frais d'expédition, les paiements
-
Calculs : Calculs de prix, vérifications de disponibilité
-
Chargement d'images : Images produits, miniatures
La mise en cache élimine le travail répétitif en stockant les résultats pour une réutilisation ultérieure.
La solution : la mise en cache multi-couches
Nous mettons en cache à cinq couches :
- Cache navigateur : L'appareil de l'utilisateur stocke les ressources statiques
- Cache CDN : Les emplacements de périphérie CloudFront mettent en cache le contenu globalement
- Cache applicatif : Valkey stocke les données fréquemment consultées
- Cache base de données : Valkey se place devant la base de données
- Cache IA : DeepSeek met en cache les prompts système
Couches de mise en cache
Mise en cache navigateur (CloudFront)
CloudFront fournit la mise en cache navigateur avec des TTL appropriés :
-
Images : TTL longue (24-72 heures)
-
CSS/JS : Versionnés avec cache-busting
-
Réponses API : TTL courte ou pas de cache
Mise en cache CDN (CloudFront)
CloudFront met en cache le contenu dans les emplacements de périphérie :
-
Ressources statiques : Images produits, CSS, JS
-
Pages produits : TTL de 24 heures
-
Pages de requête : TTL de 24 heures
-
Réponses API : Pas de mise en cache
Mise en cache applicative (Valkey)
Valkey fournit une mise en cache en mémoire :
-
Sessions : Sessions utilisateur avec expiration glissante
-
Requêtes populaires : Termes les plus recherchés
-
Saisie semi-automatique : Suggestions de recherche
-
Nombre de produits : Disponibilité du stock
-
Mappages de phrases : Données d'extraction de filtres
Mise en cache base de données
Valkey se place devant la base de données :
-
Données produits : Mises en cache pour la performance
-
Coûts des pièces : Mis en cache pour les calculs de prix
-
Listes de SKU : Mises en cache pour les listes de produits
-
Manifestes d'images : Mis en cache pour le chargement d'images
Mise en cache IA (DeepSeek)
DeepSeek fournit la mise en cache de prompts :
-
Prompts système : Mis en cache pour l'efficacité
-
Succès de cache : Réduisent l'utilisation de tokens
-
Échecs de cache : Génèrent un nouveau contenu
Mise en cache des traductions
La mise en cache des traductions utilise plusieurs couches :
-
Valkey : Tables de phrases mises en cache en mémoire
-
Fichiers : Tables de phrases stockées de manière persistante dans des fichiers JSON
-
Système de repli : Cache hérité basé sur le hachage pour la rétrocompatibilité
Invalidation du cache
Nous invalidons les caches lorsque :
-
Mises à jour de produits : Invalident les caches de produits
-
Changements de stock : Invalident les caches de comptage de stock
-
Mises à jour de contenu : Invalident les caches de pages
-
Mises à jour de traduction : Invalident les caches de traduction
Organisation du cache
Les caches Valkey sont organisés par fonction :
-
Sessions : État d'authentification de l'utilisateur
-
Saisie semi-automatique : Données de suggestions de recherche
-
Requêtes populaires : Termes fréquemment recherchés
-
Mappages de phrases : Données d'extraction de filtres
-
Coûts des pièces : Données de calcul de prix
Résumé
Notre stratégie de mise en cache offre :
-
Multi-couches : Navigateur, CDN, application, base de données
-
Efficacité : Valkey pour un accès rapide en mémoire
-
Intelligence : Mise en cache des prompts IA pour des économies
-
Fiabilité : Mécanismes de repli multiples