Définition simple
Redis associe des clés à des valeurs et à des structures comme des listes, ensembles ou compteurs. Les données sont principalement travaillées en mémoire, ce qui convient à des accès rapides. Il ne faut pas confondre cet usage avec une garantie de conservation : le rôle du jeu de données et la configuration déterminent ce que l’application peut perdre ou reconstruire.
Définition technique
Une application peut définir une durée de vie, ou TTL, pour une clé. L’expiration à l’échéance et l’éviction lorsque la mémoire manque sont deux mécanismes différents. La limite mémoire et la politique d’éviction doivent correspondre au besoin : une donnée de session indispensable ne se traite pas comme une copie de cache facilement recalculable.
Les mécanismes de persistance RDB et AOF permettent, selon la configuration, d’enregistrer des données sur disque. Leur fréquence et leur mode d’écriture influencent la récupération après incident. La réplication est habituellement asynchrone ; elle ne remplace ni la politique de persistance ni une sauvegarde indépendante. TCP 6379 est un port usuel, configurable.
À quoi cela sert ?
Redis peut réduire les lectures d’une base SQL, gérer des sessions ou conserver des compteurs temporaires. Son intérêt dépend du coût évité et de la stratégie d’invalidation. Un cache très rapide qui restitue un ancien résultat après une modification peut provoquer une erreur fonctionnelle malgré un serveur techniquement disponible.
Exemple concret
Une application Laravel conserve pendant une minute un résultat de catalogue coûteux à calculer. À l’expiration, elle le reconstruit depuis sa base principale. Si le cache est vide, l’application doit rester cohérente et maîtriser les recalculs simultanés, au lieu de surcharger brutalement la base avec toutes les demandes.
Repères essentiels
| Élément | Rôle |
|---|---|
| TTL | Expiration d’une clé après une durée |
| Éviction | Retrait de clés selon la pression mémoire et la politique |
| RDB | Instantané des données |
| AOF | Journal des opérations d’écriture selon la configuration |
Problèmes fréquents
- Mémoire élevée : examiner la taille des clés, les expirations et la politique d’éviction.
- Donnée périmée : contrôler la clé utilisée et son invalidation après une modification.
- Déconnexion ou latence : corréler réseau, clients, commandes coûteuses et activité du serveur.
Bonnes pratiques et limites
Protégez l’accès réseau et les comptes autorisés ; configurez le chiffrement lorsqu’il est nécessaire. Définissez si Redis est un cache reconstructible ou une source de données à préserver. Testez le redémarrage et la restauration selon ce rôle, puis surveillez mémoire, évictions, erreurs et retard de réplication.