Retour à la leçonMission
Mission : des prix perimes affiches pendant des heures
Corriger un cache jamais invalide et proteger un recalcul lourd contre les acces concurrents.
Contexte
La liste produits.populaires est mise en cache avec Cache::remember pendant 15 minutes, mais un administrateur a modifie le prix d'un produit vedette il y a deux heures : le site continue d'afficher l'ancien prix. En parallele, un rapport mensuel tres couteux a calculer (genererRapportLourd()) est demande simultanement par cinq utilisateurs au moment precis ou son cache expire, ce qui a fait grimper la charge CPU du serveur en fleche pendant plusieurs secondes.