Ce tutoriel explique comment intégrer Redis, un data store en mémoire ultra-rapide, comme backend de cache dans une application Spring Boot.
- Redis: Un data store NoSQL clé-valeur, souvent utilisé comme cache distribué, messagerie, et base de données.
RedisCacheManager: L'implémentation duCacheManagerde Spring qui utilise Redis. Spring Boot l'auto-configure sispring-boot-starter-data-redisest détecté sur le classpath et qu'une connexion Redis est disponible.- Configuration: La connexion à Redis se fait simplement via le fichier
application.properties. - RedisInsight: Une interface graphique web pour visualiser et gérer les données dans Redis.
Ce projet reprend l'exemple du service de gestion de livres (BookService) et utilise Redis comme système de cache.
- La configuration du cache est auto-gérée par Spring Boot.
- Le
docker-compose.ymlinclut Redis et RedisInsight pour une expérience de développement complète.
-
Démarrez Redis et RedisInsight avec Docker Compose :
docker-compose up -d
-
Accédez à RedisInsight via votre navigateur à l'adresse
http://localhost:8001.- Acceptez les conditions d'utilisation.
- Ajoutez une nouvelle base de données Redis ("Add Redis Database").
- Connectez-vous en utilisant
rediscomme Host et6379comme Port.
-
Démarrez l'application
RedisCacheApplication. -
Utilisez un outil comme
curlou Postman pour interroger l'API.- Récupérez un livre pour la première fois :
Vous remarquerez un délai de 3 secondes (simulé).
curl http://localhost:8080/books/9782253006329
- Récupérez un livre pour la première fois :
-
Visualisez le cache dans RedisInsight :
- Rafraîchissez la vue dans RedisInsight. Vous devriez voir une nouvelle clé apparaître (par exemple,
books::9782253006329). En cliquant dessus, vous verrez les données du livre sérialisées.
- Rafraîchissez la vue dans RedisInsight. Vous devriez voir une nouvelle clé apparaître (par exemple,
-
Récupérez le même livre une deuxième fois :
curl http://localhost:8080/books/9782253006329
La réponse sera quasi instantanée, car elle provient du cache Redis.
-
Vous pouvez arrêter les services avec
docker-compose down.