반응형

cache-abstraction 3

9편. Spring Cache 시리즈 정리 - 언제 쓰고, 언제 쓰지 말아야 하는가

이 글은 Spring Cache 공식 문서를 기반으로 진행한 1~8편 내용을 하나의 판단 프레임으로 정리한 마무리 편입니다.Spring Cache는 “쓰는 법”보다 “쓰면 안 되는 순간을 아는 것”이 더 중요합니다. 이 글의 목적은 그 경계를 명확히 하는 것입니다.들어가며지금까지 이 시리즈에서는 다음 질문들을 반복해서 던졌습니다.이 데이터는 캐시해도 되는가?캐시는 언제 틀려도 괜찮은가?캐시가 사라져도 시스템은 버틸 수 있는가?9편에서는 이 질문들을 한 번에 판단할 수 있는 형태로 정리합니다.1. Spring Cache가 잘 맞는 문제 영역Spring Cache는 다음 조건을 만족할 때 가장 강력합니다.메서드 결과를 단순히 재사용하고 싶다캐시 적용 여부를 선언적으로 표현하고 싶다캐시 구현체를 나중에 바꿀 ..

8편. Cache vs 직접 Redis 사용 - Spring Cache를 쓰지 말아야 하는 순간들

이 글은 Spring Cache 공식 문서를 기반으로, 지금까지 정리한 Cache Abstraction의 한계를 짚고, “언제 Spring Cache를 쓰지 말고 직접 Redis를 써야 하는가”를 설계 기준으로 정리합니다.Spring Cache는 매우 강력하지만, 모든 캐시 문제의 정답은 아닙니다. 이 편은 그 경계를 명확히 하는 데 목적이 있습니다.들어가며Spring Cache를 쓰다 보면 이런 고민이 생깁니다.TTL을 상황에 따라 다르게 주고 싶다캐시 만료를 이벤트 기반으로 제어하고 싶다여러 키를 한 번에 다루고 싶다이 시점부터 Spring Cache는 점점 답답해집니다. 이건 설계 실수가 아니라, Spring Cache가 의도한 역할을 벗어났다는 신호입니다.1. Spring Cache가 해결하려는 ..

1편. Spring Cache Abstraction - 캐시는 왜 ‘추상화’되었을까?

이 글은 Spring Framework 공식 문서(Cache Abstraction)를 기반으로 “왜 Spring은 Cache를 추상화했는가”를 설계 관점에서 정리합니다.들어가며캐시는 대부분의 서버 애플리케이션에서 성능 최적화의 마지막 카드처럼 사용됩니다. 하지만 Spring 공식 문서를 읽다 보면, 캐시는 단순한 성능 옵션이 아니라 애플리케이션 설계의 일부로 다뤄집니다.Spring은 왜 Redis, EhCache, Caffeine 같은 구체적인 기술 대신 Cache Abstraction이라는 계층을 만들었을까요?이 질문에 대한 답을 이해하지 못하면, Spring Cache는 곧 이렇게 사용됩니다.“조회 느리니까 @Cacheable 붙이자”“Redis 있으니까 그냥 캐시 쓰는 거지”이 글에서는 공식 문서가..

반응형