0Pricing
React Academy · Leçon

Stratégies de mise en cache en périphérie pour les applications React

Utilisez les en-têtes Cache-Control, Cloudflare KV et R2 pour mettre en cache les pages rendues et les ressources statiques en périphérie.

Stratégies de mise en cache en périphérie pour les applications React est une leçon React Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage React Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours React Academy comprend 4 leçons au total.

En-têtes Cache-Control pour la mise en cache en périphérie

L'en-tête de réponse Cache-Control contrôle pendant combien de temps Cloudflare (et les autres CDN) mettent en cache vos réponses SSR. Les principales directives sont : max-age (cache du navigateur), s-maxage (durée du cache du CDN ou du cache partagé) et stale-while-revalidate (servir du contenu obsolète pendant sa revalidation en arrière-plan).

s-maxage ou max-age

s-maxage est pris en compte par les caches partagés (CDN), tandis que max-age concerne les caches du navigateur. Pour les pages SSR, vous choisirez généralement s-maxage=60 (le CDN met en cache pendant 60 secondes) et max-age=0 (le navigateur revalide toujours), afin que tous les utilisateurs reçoivent un contenu raisonnablement récent depuis le cache en périphérie.

Mise en cache des pages SSR avec stale-while-revalidate

Ajouter stale-while-revalidate=30 à votre en-tête Cache-Control indique à Cloudflare de servir instantanément la page mise en cache tout en récupérant une version à jour en arrière-plan. Les utilisateurs obtiennent toujours une réponse rapide ; l'ancienneté maximale est de s-maxage + stale-while-revalidate secondes.

Pages personnalisées : l'en-tête Vary

Le contenu personnalisé (fondé sur la session de l'utilisateur ou sa langue et sa région) ne doit pas être fourni par un cache partagé au mauvais utilisateur. L'en-tête Vary: Cookie indique à Cloudflare de traiter chaque valeur Cookie unique comme une entrée de cache distincte, empêchant ainsi les données d'un utilisateur d'être fournies à un autre.

Contourner le cache pour les requêtes authentifiées

Un schéma courant consiste à rechercher un cookie de session dans le Worker avant de décider s'il faut utiliser le cache. Si un cookie de session est présent, contournez entièrement le cache et générez une réponse personnalisée. Si aucun cookie de session n'est présent, la page est publique et peut être fournie depuis le cache.

Cloudflare KV : magasin clé-valeur en périphérie

Cloudflare KV est un magasin clé-valeur distribué à l'échelle mondiale, qui stocke les données à proximité des utilisateurs. Vous pouvez mettre en cache du HTML rendu dans KV : stockez la page rendue comme valeur avec un TTL, puis les requêtes suivantes la lisent depuis KV en périphérie au lieu de la générer à nouveau avec React.

Performances des lectures et écritures KV

Les lectures KV sont rapides, car les données sont répliquées sur le PoP périphérique qui traite la requête ; leur latence typique est inférieure à 5 ms. Les écritures KV utilisent toutefois une cohérence éventuelle : une écriture effectuée dans une région est propagée à tous les PoPs du monde en moins de 60 secondes, ce qui signifie que certains utilisateurs peuvent brièvement voir des données obsolètes.

Cloudflare R2 : stockage d'objets pour les ressources volumineuses

Cloudflare R2 est un service de stockage d'objets compatible avec S3, sans frais de sortie. Il convient aux ressources volumineuses qui ne tiennent pas dans KV : modules WASM, images OG pré-rendues et grands jeux de données JSON. Les Workers accèdent à R2 via des liaisons, comme à KV.

Étiquettes de cache pour une invalidation précise

Cloudflare Enterprise prend en charge les étiquettes de cache : vous étiquetez une réponse avec Cache-Tag: product-42 et, lorsque le produit 42 change, vous appelez l'API de Cloudflare pour purger toutes les réponses portant l'étiquette product-42. Cela permet une invalidation ciblée du cache sans purger l'intégralité de celui-ci.

Gérer l'invalidation du cache lors d'un déploiement

Lorsque vous déployez une nouvelle version de votre Worker, le HTML déjà mis en cache peut faire référence à d'anciens noms de fichiers de regroupement JS. Une stratégie robuste consiste à inclure la version du déploiement dans vos clés de cache, ou à utiliser des noms de fichiers de regroupement versionnés (grâce au hachage du contenu de Vite), afin que l'ancien HTML fasse toujours référence à des fichiers JS valides et mis en cache.

Mise en œuvre d'un cache HTML fondé sur KV

Un Worker qui met en cache du HTML SSR dans KV suit ce schéma : calculez une clé de cache à partir de l'URL (et éventuellement de la langue et de la région), vérifiez dans KV si elle existe, puis renvoyez immédiatement le HTML mis en cache si c'est le cas. En cas d'absence, effectuez le rendu avec React, stockez le résultat dans KV avec un TTL, puis renvoyez le HTML fraîchement rendu.

Modèle de cohérence utilisé par Cloudflare KV pour les écritures

Quel modèle de cohérence Cloudflare KV utilise-t-il pour les écritures ?

Récapitulatif de la leçon

La mise en cache en périphérie des applications React combine plusieurs stratégies : s-maxage de Cache-Control pour la mise en cache CDN des pages publiques, Vary: Cookie pour empêcher le partage des réponses personnalisées, KV pour le HTML rendu mis en cache en périphérie et les étiquettes de cache pour une invalidation précise. Le modèle de cohérence éventuelle de KV signifie que la propagation des écritures peut prendre jusqu'à 60 secondes ; concevez donc vos TTL et votre stratégie d'invalidation en conséquence.

Questions Fréquemment Posées

La leçon « Stratégies de mise en cache en périphérie pour les applications React » est-elle gratuite ?

Oui — le texte complet de « Stratégies de mise en cache en périphérie pour les applications React » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours React Academy, passe à CoddyKit PRO. Le cours React Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Stratégies de mise en cache en périphérie pour les applications React » ?

Utilisez les en-têtes Cache-Control, Cloudflare KV et R2 pour mettre en cache les pages rendues et les ressources statiques en périphérie. Tu pratiques React Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer React Academy ?

Aucune expérience préalable n'est requise. React Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Stratégies de mise en cache en périphérie pour les applications React » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon React Academy ?

Oui. Chaque leçon React Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Qu’est-ce que le rendu en périphérie et pourquoi est-il important
  2. React sur Cloudflare Workers avec Hono
  3. SSR en continu depuis la périphérie
  4. Stratégies de mise en cache en périphérie pour les applications React
← Retour à React Academy