advancedCaching with Redis

What does `@Cacheable` actually do the first time vs subsequent times a method is called with the same argument?

The first call executes the method body normally and Spring stores its return value in the configured cache (e.g. Redis) keyed by the method's arguments. Subsequent calls with the same argument skip the method body entirely and return the cached value directly — which is why side-effecting methods should never be annotated `@Cacheable`, since the side effect wouldn't happen on cache hits.

Ready to master this question?

Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.

Sign in to generate a response

Next Step

Continue to Why does a cache need an eviction/TTL strategy instead of just caching forever?← Back to all Spring Boot questions