Caching with Spring
Caching with Spring: @Cacheable, @CacheEvict, @CachePut, CacheManager, providers (EhCache, Redis, Caffeine)
1What is the main role of the @Cacheable annotation in Spring?
What is the main role of the @Cacheable annotation in Spring?
답변
@Cacheable caches a method's result to avoid repeated executions with the same parameters. This significantly improves performance for expensive operations like database queries or external API calls. Use @Cacheable for frequently called read methods with the same arguments to reduce load on resources.
2Which annotation is required to enable caching support in a Spring Boot application?
Which annotation is required to enable caching support in a Spring Boot application?
답변
@EnableCaching activates caching support in Spring Boot and must be placed on a configuration class (typically the main class annotated with @SpringBootApplication). Without this annotation, cache annotations like @Cacheable will be ignored. Spring Boot automatically configures a simple in-memory CacheManager (ConcurrentMapCacheManager) if no other is defined.
3What is the main difference between @Cacheable and @CachePut?
What is the main difference between @Cacheable and @CachePut?
답변
@Cacheable skips method execution if the result is already cached, while @CachePut always executes the method and updates the cache with the new result. Use @Cacheable for reads (avoid repeated calculations) and @CachePut for update operations that must refresh the cache without bypassing method execution.
What is the role of the @CacheEvict annotation in Spring?
Which CacheManager does Spring Boot configure by default if no other is defined?
+22 면접 질문