Cache
Unité d'apprentissage. Moule : ① concept → ② Set-OPS → ③ transférable → ④ à toi de jouer.
① Le concept (générique)
Un cache garde en mémoire (rapide) des données coûteuses à recalculer ou à relire (disque,
base, réseau). Modèle clé-valeur : SET clé valeur, GET clé.
Comme la mémoire est limitée :
- éviction — quand c'est plein, on jette (souvent LRU : Least Recently Used) ;
- TTL — une valeur peut expirer après un délai.
Règle d'or : le cache n'est PAS la source de vérité. Il est éphémère — on doit pouvoir le perdre sans drame (la vraie donnée est ailleurs). Le vider = plus lent un instant, jamais faux.
② Comment Set-OPS le fait
serveur_redis (nœud data-sql) fournit un cache réseau. Points notables :
- authentification obligatoire (
requirepass, secret en voûte) — il est exposé sur le réseau interne, donc on ne laisse jamais un cache ouvert ; maxmemory+ politiqueallkeys-lru— borne la mémoire, évince en LRU ;- Icinga a son propre Redis dédié (
icingadb-redis) — un cache par besoin, pas un fourre-tout.
Conséquence directe : Redis est Tier 3 (éphémère) — on ne le sauvegarde pas. C'est le pendant parfait de l'unité Sauvegardes : on protège la donnée d'état, pas le cache.
③ Pourquoi c'est transférable
| Set-OPS | Équivalents ailleurs |
|---|---|
| Redis | Memcached · Valkey · KeyDB · caches cloud (ElastiCache…) |
| LRU + TTL | mécanismes universels d'éviction/expiration |
| cache éphémère ≠ source de vérité | principe valable partout |
Tu as appris le cache clé-valeur, l'éviction LRU, le TTL, l'éphémère — pas « Redis ».
④ À toi de jouer
- Écris/lis avec authentification (sur data-sql-01) :
redis-cli -a "<mot de passe vault_redis>" SET essai:1 bonjour redis-cli -a "<mot de passe vault_redis>" GET essai:1 - Teste le TTL :
redis-cli -a … SET court 1 EX 5puisGET courtavant/après 5 s — il expire. - Vois la borne :
redis-cli -a … CONFIG GET maxmemoryet… maxmemory-policy(LRU). - Casse & répare. Interroge sans mot de passe :
redis-cli GET essai:1→NOAUTH(refusé). Puis vide le cache (FLUSHALL) : rien ne casse dans l'écosystème — la vraie donnée est en base. Tu sens qu'un cache est jetable.
Pour aller plus loin (dépôt)
- Rôle :
roles/serveur_redis. - Redis dédié d'Icinga :
roles/serveur_icinga(icingadb-redis). - Tiers de sauvegarde (Redis = Tier 3, non sauvegardé) : unité Sauvegardes.
Set-OPS
Unités d'apprentissage
Fondations
Communication
Données
Observabilité
Socle & méthode
Opérations
- Runbooks → dépôt
docs/runbooks-exploitation.md
Repères
- Glossaire (à venir)
- Référence technique → dépôt
docs/