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 :

  1. Cache navigateur : L'appareil de l'utilisateur stocke les ressources statiques
  2. Cache CDN : Les emplacements de périphérie CloudFront mettent en cache le contenu globalement
  3. Cache applicatif : Valkey stocke les données fréquemment consultées
  4. Cache base de données : Valkey se place devant la base de données
  5. 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