La purge invalide (supprime) un objet mis en cache avant sa date normale d’expiration. On peut purger un objet parce qu’il est incorrect, obsolète ou qu’il nécessite une mise à jour immédiate. Une fois qu’un objet a été purgé, la prochaine requête pour cet objet ira le chercher à la source, plutôt que dans le cache.
Vous, en tant que propriétaire d’un site web, pouvez souhaiter purger un cache pour plusieurs raisons. Par exemple, si vous êtes un commerçant en ligne, vous souhaitez vous assurer que le prix ou les stocks d’un produit sont toujours à jour. C’est une bonne raison pour mettre en place une politique de purge. Ou bien, si vous gérez un site web d’information et que la une ou le contenu d’un article ne sont plus d’actualité, vous allez vouloir faire une purge afin que les nouveaux titre et contenu soient récupérés sur votre serveur d’origine et stockés dans le cache à la place des anciennes versions.
Comment fonctionne la purge ?
Quand un objet est stocké dans le cache, il dispose d’une durée de vie donnée appelée TTL (time to live) et peut être diffusé dans avoir besoin d’être revalidé par le serveur d’origine. Lorsque l’objet en cache atteint la valeur de sa TTL, il expire et le cache n’est plus considéré comme actuel. Cet objet peut continuer à être distribué, même s’il est obsolète, avant qu’il soit formellement éjecté et que le cache soit revalidé.
Vous pouvez utiliser la fonctionnalité de purge si vous avez besoin de supprimer un contenu du cache avant sa date d’expiration formelle. Cette opération est souvent nécessaire lorsque le contenu mis en cache contient des erreurs, n’est plus d’actualité ou a besoin d’être actualisé immédiatement en raison de modifications critiques. Quelle que soit la situation, vous purgez pour remplacer ce qui est actuellement mis en cache sur votre site par une nouvelle version plus récente existant sur votre serveur d’origine.
Méthodes de purge du cache
Vous savez maintenant ce qu’est la purge du cache. Examinons donc les différentes méthodes de purge :
Purge manuelle du cache : Dans cette méthode, une demande de purge est faite manuellement et concerne un contenu ou des chemins spécifiques. Elle peut s’effectuer via une interface utilisateur, une API (Application Programming Interface) ou un outil de ligne de commande fournis par votre système de mise en cache ou votre réseau de distribution de contenu (CDN). La purge manuelle est utile dans les situations ponctuelles ou rares où un contenu doit être mis à jour immédiatement.
Purge automatique du cache : Dans cette méthode, les demandes de purge sont automatiquement déclenchées en fonction de certains événements ou conditions. Par exemple, il est possible de réaliser une purge lors de la publication ou la mise à jour de nouveau contenu dans votre système de gestion de contenu. La purge automatique permet de garantir que le contenu reste à jour sans avoir besoin d’intervention manuelle.
Stratégies de purge :
Purge complète : Une purge complète invalide la totalité du cache en effaçant tout le contenu. En général, cette approche radicale n’est utilisée qu’en cas d’absolue nécessité, car elle affecte les performances du cache tant que le nouveau contenu n’y est pas ajouté.
Purge partielle : Avec une purge partielle, il est possible d’invalider un sous-ensemble du contenu en cache, comme certaines URL, des modèles de chemins ou des types de contenu. Cela vous permet d’être plus précis et de ne supprimer que le contenu obsolète.
Purge intelligente : Certains systèmes de mise en cache prennent en charge une logique de purge plus intelligente basée sur des facteurs comme l’âge du cache, les niveaux de trafic ou les relations entre les contenus pour minimiser l’impact sur les performances, tout en maintenant l’actualité du contenu.
Bonnes pratiques en matière de purge de contenu
Une purge efficace du cache garantit l’actualisation de votre contenu tout en maintenant des performances optimales. Voyons maintenant les bonnes pratiques à suivre pour maintenir cet équilibre :
Définissez les scénarios et conditions spécifiques qui déclencheront la purge du cache et les méthodes de purge appropriées (complète, partielle ou intelligente) pour chaque situation. Prenez en compte les exigences d’actualisation de votre contenu, sa criticité et sa fréquence de mise à jour pour définir votre politique.
Programmez des purges régulières du cache, complètes ou ciblées, pour supprimer le contenu obsolète qui subsiste et réinitialisez le cache. La fréquence dépend de la nature de votre contenu. Un contenu qui change rapidement nécessitera des purges plus fréquentes.
Intégrez la purge du cache à votre système de gestion de contenu, vos pipelines CI/CD ou d’autres outils pour automatiser les purges en fonction de vos mises à jour ou déploiements de contenu. L’automatisation garantit que les purges sont réalisées en temps voulu et réduit les tâches manuelles.
Une purge, en particulier une purge complète, peut avoir un impact temporaire sur les performances tant que le nouveau contenu n’est pas remis en cache. Vous pouvez tester des flux de travail de purge, limiter le nombre de requêtes ou le débit et envisager une logique de purge intelligente pour minimiser l’impact sur vos serveurs d’origine.
Surveillez en permanence l’efficacité de vos processus de purge, suivez les métriques et affinez les politiques et les flux de travail si besoin. Préparez-vous à adapter vos stratégies au fur et à mesure de l’évolution de vos exigences ou des technologies.
Un exemple de purge
Supposons que vous publiiez un article d’actualité, mais que vous remarquiez une erreur. Vous corrigez l’article et l’envoyez à vos serveurs d’origine à l’aide de votre processus de déploiement. Cependant, l’article contenant l’erreur est toujours dans le cache et peut être distribué aux clients tant que vous n’aurez pas envoyé une demande de purge, ce que vous pouvez également faire avec un en-tête HTTP. La purge indique au cache d’arrêter de distribuer l’objet mis en cache suite aux requêtes des clients et d’aller plutôt récupérer l’objet le plus récent sur le serveur d’origine. Cet objet plus récent remplace celui qui est dans le cache et peut être distribué en réponse aux prochaines requêtes.
Veuillez noter que cette méthode de purge ne fonctionne que pour les caches distants que vous avez mis en place, comme un proxy inverse ou un CDN. Vous ne pouvez pas envoyer une demande de purge au cache local du navigateur d’un utilisateur pour le forcer à se purger. Si vous utilisez un CDN, il est conseillé de définir des en-têtes HTTP pour empêcher, avant toute chose, les objets d’être mis en cache dans le navigateur.
En savoir plus sur la purge du cache avec Fastly Academy.
En savoir plus sur la mise en cache avec Fastly CDN