La purge invalide (supprime) un objet en cache avant qu’il n’expire naturellement. Vous pouvez vouloir purger quelque chose parce que c’est incorrect, obsolète, ou parce que vous avez une mise à jour incompatible. Une fois qu’un objet est purgé, la prochaine requête pour cet objet sera récupérée depuis la source plutôt que depuis le cache.
Vous, en tant que propriétaire d’un site web, pouvez souhaiter purger un cache pour de nombreuses raisons. Par exemple, si vous êtes un vendeur e-commerce, vous voulez vous assurer que le prix ou la quantité d’un produit sont toujours à jour - une excellente raison de mettre en place une politique de purge. Ou, si vous avez un site web d’information et que le titre ou le contenu d’un article n’est plus valide, vous voudrez purger afin que le nouveau titre et le nouveau contenu soient récupérés depuis votre serveur d’origine et stockés dans le cache au lieu de la version obsolète.
Comment fonctionne la purge ?
Lorsqu’un objet est stocké dans le cache, il dispose d’une durée de fraîcheur, également appelée Temps de vie (TTL), et peut être diffusé sans avoir besoin d’être revalidé par le serveur d’origine. Lorsque l’objet en cache atteint la valeur de son Temps de vie (TTL), il expire et le cache n’est plus considéré comme actuel. Cet objet peut continuer à être distribué en stale avant d’être formellement éjecté et que le cache soit revalidé.
Vous pouvez utiliser la purge lorsque vous devez supprimer le contenu du cache avant son délai d’expiration normal. Cette opération est souvent nécessaire lorsque le contenu du cache contient des erreurs, n’est plus à jour, ou doit être mis à jour immédiatement en raison de modifications critiques. Quelle que soit la situation, vous purgez pour remplacer ce qui est actuellement en cache sur votre site par une version plus récente et nouvelle sur votre origine.
Méthodes de purge du cache
Vous savez maintenant ce qu’est la purge du cache. Examinons donc les différentes méthode de purge :
Purge manuelle du cache: il s’agit d’initier manuellement une requête de purge pour un contenu ou des chemins spécifiques. Cela peut se faire via une interface utilisateur, une API, ou un outil de ligne de commande fourni par votre système de cache ou votre Content Delivery Network (Content Delivery Network). La purge manuelle est utile dans les situations ponctuelles ou peu fréquentes où un contenu doit être mis à jour immédiatement.
Purge automatique du cache: dans cette méthode, les requêtes de purge sont automatiquement déclenchées en fonction de certains événements ou de certaines conditions. Par exemple, des purges peuvent être initiées chaque fois qu’un nouveau contenu est publié ou mis à jour dans votre système de gestion de contenu. La purge automatique permet de garantir que le contenu du cache reste à jour sans intervention manuelle.
Stratégies de purge:
Purger complète: une purge complète invalider la totalité du cache, en effaçant tout le contenu du cache. Cette approche radicale n’est généralement utilisée qu’en cas d’absolue nécessité, car elle affecte les performances du cache jusqu’à ce que le contenu soit remis en cache.
Purge partielle: Avec une purge partielle, vous invalidez un sous-ensemble du contenu du cache, comme certaines URL, des modèles de chemin, 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 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 le contenu à jour.
Bonnes pratiques en matière de purge du cache
Une purge efficace du cache garantit l’actualisation de votre contenu tout en maintenant des performances optimales. Voyons maintenant les bonnes pratiques à suivre si vous voulez atteindre cet équilibre :
1. Établir une politique de purge du cache claire
Définissez les scénarios et conditions spécifiques qui déclencheront la purge du cache et les méthodes de purge appropriées ("full", "partial" 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.
2. Établir un programme de maintenance régulier
Programmez des purges régulières du cache, soit "full", soit ciblées, pour supprimer les stale data persistantes et réinitialiser le cache. La fréquence dépend de la nature de votre contenu, un contenu qui change rapidement nécessitant des purges plus fréquentes.
3. Automatiser les processus de purge
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 des mises à jour de contenu ou des déploiements. L’automatisation garantit des purges en temps voulu et réduit les efforts manuels.
4. Tenez compte des implications sur les performances
Une purge, en particulier une purge full, peut avoir un impact temporaire sur les performances jusqu’à ce que le contenu soit remis en cache. Vous pouvez tester des flux de travail de purge, mettre en œuvre une limitation ou une limitation du débit et envisager une logique de purge intelligente pour minimiser l’impact sur vos serveurs d’origine.
5. Restez agile et adaptez-vous
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.
Quel est 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 serveur d’origine à l’aide de votre processus de déploiement. Cependant, l’article incorrect reste toujours dans le cache et peut être distribué aux clients jusqu’à ce que vous envoyiez une requête de purge, ce que vous pouvez également faire avec un en-tête HTTP. La purge indique au cache de cesser de distribuer l’objet mis en cache en réponse aux requêtes des clients et de récupérer à la place l’objet plus récent depuis l’origine. Cet objet plus récent remplace celui qui se trouve dans le cache et peut être distribué en réponse aux requêtes suivantes.
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 Content Delivery Network. Vous ne pouvez pas envoyer de requête de purge au cache local du navigateur d’un utilisateur pour le forcer à se purger. Si vous utilisez un Content Delivery Network, nous vous recommandons 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.