이 글은 Spring Framework 공식 문서(Cache Abstraction)를 기반으로 @Cacheable이 실제로 언제 동작하고, 어떤 경우에 동작하지 않는지를 호출 흐름 중심으로 정리합니다.들어가며Spring Cache를 쓰다 보면 이런 경험을 하게 됩니다.분명 @Cacheable을 붙였는데 캐시가 안 된다한 번은 캐시가 되고, 한 번은 안 된다로컬에서는 되는데 운영에서는 다르게 동작한다이런 문제의 대부분은 캐시 설정이 아니라, @Cacheable의 실제 실행 시점과 조건을 정확히 이해하지 못해서 발생합니다.1. @Cacheable은 “메서드 실행 전”에 동작한다Spring 공식 문서는 @Cacheable의 동작을 명확하게 설명합니다.The caching abstraction applies c..