[스프링] 스프링 캐시 구현 방법
스프링 프레임워크는 캐시를 효과적으로 활용하기 위한 기능을 제공합니다. 캐시를 사용하여 반복적으로 요청되는 데이터나 계산을 임시 저장함으로써 응답 시간을 줄이고 서버 부하를 낮출 수 있습니다.
1. 의존성 추가
스프링 캐시를 사용하기 위해 먼저 의존성을 추가해야 합니다. Maven의 경우 pom.xml
파일에 다음과 같은 의존성을 추가합니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
2. 캐시 활성화
캐시를 사용할 클래스에 @EnableCaching
어노테이션을 추가하여 캐시 활성화를 설정할 수 있습니다.
import org.springframework.cache.annotation.EnableCaching;
@EnableCaching
@SpringBootApplication
public class Application {
//...
}
3. 메서드에 캐시 적용
캐시를 적용하려는 메서드에 @Cacheable
어노테이션을 추가하여 캐시를 사용할 수 있습니다.
import org.springframework.cache.annotation.Cacheable;
@Cacheable("books")
public Book findBook(String isbn) {
//...
}
스프링의 캐시는 메서드의 반환값을 캐시에 저장하고, 동일한 인자로 다시 호출 될 때 캐시된 값을 반환합니다.
4. 캐시 설정
또한, 캐시의 동작 방식을 조절하기 위해 application.properties
파일에 캐시 설정을 추가할 수 있습니다.
spring.cache.type=caffeine
spring.cache.caffeine.spec=maximumSize=500,expireAfterWrite=10s
위 설정은 Caffeine을 캐시 구현체로 사용하고, 최대 크기는 500이며, 쓰기 후 만료 시간은 10초로 설정합니다.
스프링을 사용하여 캐시를 구현하면 성능 향상과 시스템 부하 감소를 기대할 수 있습니다.
더 많은 정보는 공식 스프링 문서를 참고하세요.