Caching avec Spring
Cache avec Spring : @Cacheable, @CacheEvict, @CachePut, CacheManager, providers (EhCache, Redis, Caffeine)
1Quel est le rôle principal de l'annotation @Cacheable dans Spring ?
Quel est le rôle principal de l'annotation @Cacheable dans Spring ?
Réponse
@Cacheable met en cache le résultat d'une méthode pour éviter les exécutions répétées avec les mêmes paramètres. Cela améliore significativement les performances pour les opérations coûteuses comme les requêtes base de données ou les appels API externes. Utiliser @Cacheable pour les méthodes de lecture fréquemment appelées avec les mêmes arguments afin de réduire la charge sur les ressources.
2Quelle annotation est nécessaire pour activer le support du caching dans une application Spring Boot ?
Quelle annotation est nécessaire pour activer le support du caching dans une application Spring Boot ?
Réponse
@EnableCaching active le support du caching dans Spring Boot et doit être placée sur une classe de configuration (généralement la classe principale annotée avec @SpringBootApplication). Sans cette annotation, les annotations de cache comme @Cacheable seront ignorées. Spring Boot configure automatiquement un CacheManager simple en mémoire (ConcurrentMapCacheManager) si aucun autre n'est défini.
3Quelle est la différence principale entre @Cacheable et @CachePut ?
Quelle est la différence principale entre @Cacheable et @CachePut ?
Réponse
@Cacheable évite l'exécution de la méthode si le résultat est déjà en cache, tandis que @CachePut exécute toujours la méthode et met à jour le cache avec le nouveau résultat. Utiliser @Cacheable pour les lectures (éviter calculs répétés) et @CachePut pour les opérations de mise à jour qui doivent rafraîchir le cache sans court-circuiter l'exécution de la méthode.
Quel est le rôle de l'annotation @CacheEvict dans Spring ?
Quel CacheManager Spring Boot configure-t-il par défaut si aucun autre n'est défini ?
+22 questions d'entretien
Autres sujets d'entretien Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging avec SLF4J et Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestion des exceptions
Validation avec Bean Validation
Spring Data JPA - Les bases
Entités JPA et relations
Requêtes JPA
Spring Data Repositories
Spring Security - Les bases
Spring Boot Actuator
Tests unitaires avec JUnit et Mockito
Tests Spring Boot
Profiles et Environment
RestTemplate et WebClient
Async et Scheduling
Spring WebFlux (Reactive)
Transactions Spring
Authentification et autorisation avancées
JWT et sécurité stateless
OAuth2 et Authorization Server
Spring Boot et Docker
Microservices avec Spring
Spring Cloud Config
Optimisation des performances
GraalVM Native Images
Maîtrise Spring Boot pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement