Conception des clés de cache et regroupement des requêtes
Découvrez comment concevoir des clés de cache efficaces entre les différentes couches et comment le regroupement des requêtes empêche une surcharge de type troupeau sur votre origine.
Conception des clés de cache et regroupement des requêtes est une leçon Caching Strategies: Redis + CDN + Edge Computing 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 Caching Strategies: Redis + CDN + Edge Computing, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Caching Strategies: Redis + CDN + Edge Computing comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
What Is a Cache Key?
A cache key uniquely identifies a cached entry. When a request arrives, the cache computes its key and looks for a matching stored response.
- Same key equals a cache hit
- Different key equals a separate entry (or a miss)
- Poor key design causes low hit ratios or wrong responses
Default Cache Keys
By default many caches key on the full URL including host and path. But query strings, headers, and cookies can also be part of the key, which dramatically affects how often you get hits.
Normalizing Query Strings
Tracking parameters like utm_source create needless cache fragmentation. Strip or ignore irrelevant query params so equivalent requests share one entry.
cache_key = url_without_params(request.url) + "?" + only_keep(request.query, ["id", "page"])Varying on Headers
The Vary header tells caches to store separate copies per header value. Useful for content negotiation but dangerous if overused: Vary: User-Agent can explode into thousands of entries.
Vary: Accept-EncodingCookies and Cache Keys
Cookies often make responses uncacheable because each user has a unique cookie. Strip cookies for static assets, and only include the specific cookies that truly change the response.
Device and Geo Variants
Sometimes you intentionally vary by device class or country. Add a small, controlled dimension to the key (like a normalized device type) rather than the raw header to keep cardinality low.
- Good: mobile vs desktop
- Bad: full User-Agent string
The Thundering Herd Problem
When a popular item expires, many requests can simultaneously miss and hammer the origin at once. This thundering herd can overwhelm a backend during peak traffic.
Request Coalescing
Request coalescing (also called collapsed forwarding) makes the cache send only one request to the origin for a given key while other concurrent requests wait for that single fetch.
proxy_cache_lock on;
proxy_cache_lock_timeout 5s;Stale-While-Revalidate
To smooth expiry, serve slightly stale content while a background refresh runs. This avoids both the herd and a latency spike for users.
Cache-Control: max-age=60, stale-while-revalidate=120Multi-Layer Key Consistency
In a Redis plus CDN plus edge stack, keep cache keys consistent across layers so they agree on what is the same object. Mismatched keys cause duplicate storage and confusing invalidation.
Designing Keys: Checklist
A solid cache key strategy:
- Strip tracking and irrelevant params
- Vary only on headers that change the response
- Avoid keying on raw cookies or User-Agent
- Enable coalescing for hot keys
- Use stale-while-revalidate to hide refresh latency
Quick Check
Test your understanding of cache keys and coalescing.
Recap
You learned how cache key design controls hit ratios: normalizing query strings, using Vary carefully, and avoiding high-cardinality dimensions. You also saw how request coalescing and stale-while-revalidate protect the origin from thundering-herd spikes across a multi-layer cache.
Questions Fréquemment Posées
La leçon « Conception des clés de cache et regroupement des requêtes » est-elle gratuite ?
Oui — le texte complet de « Conception des clés de cache et regroupement des requêtes » 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 Caching Strategies: Redis + CDN + Edge Computing, passe à CoddyKit PRO. Le cours Caching Strategies: Redis + CDN + Edge Computing comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Conception des clés de cache et regroupement des requêtes » ?
Découvrez comment concevoir des clés de cache efficaces entre les différentes couches et comment le regroupement des requêtes empêche une surcharge de type troupeau sur votre origine. Tu pratiques Caching Strategies: Redis + CDN + Edge Computing 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 Caching Strategies: Redis + CDN + Edge Computing ?
Aucune expérience préalable n'est requise. Caching Strategies: Redis + CDN + Edge Computing 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 « Conception des clés de cache et regroupement des requêtes » ?
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 Caching Strategies: Redis + CDN + Edge Computing ?
Oui. Chaque leçon Caching Strategies: Redis + CDN + Edge Computing 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
- Associer Redis et un CDN
- Stratégie de mise en cache multiniveau
- Cohérence des données entre les caches
- Conception des clés de cache et regroupement des requêtes