Spring @Cacheable을 내부 메서드에 쓰면 안되는 이유

    Spring @Cacheable을 내부 메서드에 쓰면 안되는 이유 알아보기

    Spring의 @Cacheable 어노테이션은 메서드의 실행 결과를 캐싱하는 기능을 제공합니다. 이를 통해 같은 요청에 대한 처리 시간을 줄일 수 있으며, 캐시를 이용해 응답 속도를 향상시킬 수 있습니다.

    그러나 @Cacheable을 내부 메서드에 사용하는 것은 권장되지 않습니다. 이유는 다음과 같습니다.

    • 1. @Cacheable은 public 메서드에만 적용 가능합니다.
    • 2. 메서드 안에서 @Cacheable을 사용하면, 메서드 호출 시 캐시 검색 로직이 추가되어, 메서드 호출 비용이 높아집니다.
    • 3. 내부 메서드에서는 일반적으로 외부에서 호출되지 않아, 캐시할 필요가 없습니다. 또한, 내부 메서드를 캐시하면, 외부 메서드가 변경되어도 캐시가 갱신되지 않기 때문에 오류가 발생할 수 있습니다.

    따라서, @Cacheable 어노테이션은 외부에서 호출되는 public 메서드에만 적용해야 하며, 내부 메서드에서는 사용하지 않는 것이 좋습니다.

    댓글

    Designed by JB FACTORY