Spring Boot

Caching with Spring

Caching with Spring: @Cacheable, @CacheEvict, @CachePut, CacheManager, providers (EhCache, Redis, Caffeine)

25 interview questions·
Mid-Level
1

What is the main role of the @Cacheable annotation in Spring?

Answer

@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.

2

Which annotation is required to enable caching support in a Spring Boot application?

Answer

@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.

3

What is the main difference between @Cacheable and @CachePut?

Answer

@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.

4

What is the role of the @CacheEvict annotation in Spring?

5

Which CacheManager does Spring Boot configure by default if no other is defined?

+22 interview questions

Master Spring Boot for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free