Bird
0
0

Which @CacheEvict usage correctly achieves this in the deleteUser method?

hard📝 Application Q15 of 15
Spring Boot - Caching
You have a Spring Boot service with two caches: "users" and "sessions". You want to clear all entries in "sessions" cache whenever a user is deleted, but keep "users" cache intact. Which @CacheEvict usage correctly achieves this in the deleteUser method?
public void deleteUser(Long userId) {
    userRepository.deleteById(userId);
    // cache eviction here
}
A@CacheEvict(cacheNames = "sessions", key = "#userId") on deleteUser method
B@CacheEvict(cacheNames = {"users", "sessions"}, allEntries = true) on deleteUser method
C@CacheEvict(cacheNames = "users", key = "#userId") on deleteUser method
D@CacheEvict(cacheNames = "sessions", allEntries = true) on deleteUser method
Step-by-Step Solution
Solution:
  1. Step 1: Understand requirement

    We want to clear all entries in "sessions" cache only, not affect "users" cache.
  2. Step 2: Analyze options

    @CacheEvict(cacheNames = "sessions", allEntries = true) on deleteUser method clears all entries in "sessions" cache, matching requirement. @CacheEvict(cacheNames = {"users", "sessions"}, allEntries = true) on deleteUser method clears both caches, which is incorrect. @CacheEvict(cacheNames = "users", key = "#userId") on deleteUser method clears only one user key in "users" cache, not sessions. @CacheEvict(cacheNames = "sessions", key = "#userId") on deleteUser method clears one key in "sessions" cache, not all.
  3. Final Answer:

    @CacheEvict(cacheNames = "sessions", allEntries = true) on deleteUser method -> Option D
  4. Quick Check:

    allEntries=true clears entire cache [OK]
Quick Trick: Use allEntries=true on target cache to clear all keys [OK]
Common Mistakes:
  • Clearing wrong cache or multiple caches unintentionally
  • Using key instead of allEntries to clear entire cache
  • Assuming deleting user clears user cache automatically

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Spring Boot Quizzes