Spring @Cacheable을 내부 메서드에 쓰면 안되는 이유
- 코딩/Spring
- 2022. 11. 16.
Spring @Cacheable을 내부 메서드에 쓰면 안되는 이유 알아보기
Spring의 @Cacheable 어노테이션은 메서드의 실행 결과를 캐싱하는 기능을 제공합니다. 이를 통해 같은 요청에 대한 처리 시간을 줄일 수 있으며, 캐시를 이용해 응답 속도를 향상시킬 수 있습니다.
그러나 @Cacheable을 내부 메서드에 사용하는 것은 권장되지 않습니다. 이유는 다음과 같습니다.
- 1. @Cacheable은 public 메서드에만 적용 가능합니다.
- 2. 메서드 안에서 @Cacheable을 사용하면, 메서드 호출 시 캐시 검색 로직이 추가되어, 메서드 호출 비용이 높아집니다.
- 3. 내부 메서드에서는 일반적으로 외부에서 호출되지 않아, 캐시할 필요가 없습니다. 또한, 내부 메서드를 캐시하면, 외부 메서드가 변경되어도 캐시가 갱신되지 않기 때문에 오류가 발생할 수 있습니다.
따라서, @Cacheable 어노테이션은 외부에서 호출되는 public 메서드에만 적용해야 하며, 내부 메서드에서는 사용하지 않는 것이 좋습니다.
'코딩 > Spring' 카테고리의 다른 글
[Spring] default_batch_fetch_size의 작동원리 (0) | 2022.11.22 |
---|---|
[Spring] ModelMapper를 이용해 DTO와 Entity 변환 방법 (0) | 2022.11.18 |
[Spring] 캐시(Cache) 추상화와 사용법(@Cacheable, @CachePut, @CacheEvict) (0) | 2022.11.16 |
[Spring] Entity에 protected 생성자를 만드는 이유(@Noargsconstructor) (0) | 2022.11.15 |
[Spring] @RequestBody가 빈 생성자가 필요한 이유 (0) | 2022.11.14 |