[스프링] 스프링 캐싱 설정 방법
스프링 캐싱은 애플리케이션에서 반복적으로 사용되는 데이터나 연산 결과를 메모리에 저장하여 빠르게 접근할 수 있도록 하는 기술입니다. 이를 통해 시스템의 성능을 향상시킬 수 있으며, @Cacheable 어노테이션 등을 사용하여 메소드 단위로 캐싱을 쉽게 적용할 수 있습니다.
1. 의존성 추가
스프링 캐시를 사용하기 위해 스프링 부트 기반의 프로젝트에서는 다음과 같이 의존성을 추가해야 합니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
2. 캐시 설정
@EnableCaching 어노테이션을 사용하여 애플리케이션에서 캐싱을 활성화합니다. 이 후에는 CacheManager 인터페이스를 구현한 캐시 매니저를 설정해야 합니다. 스프링 부트를 사용하는 경우에는 주로 CacheManager의 구현체인 ConcurrentMapCacheManager를 사용합니다.
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Configuration;
import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
@Configuration
@EnableCaching
public class CachingConfig {
@Bean
public CacheManager cacheManager() {
return new ConcurrentMapCacheManager("cacheName");
}
}
3. 메소드에 캐싱 적용
캐싱을 적용할 메소드에 @Cacheable 어노테이션을 추가합니다. 이때 캐시 이름과 키를 지정할 수 있으며, 이를 통해 메소드의 리턴 값이 캐시에 저장됩니다.
import org.springframework.cache.annotation.Cacheable;
@Service
public class MyService {
@Cacheable(value = "cacheName", key = "#key")
public ResultValue getResult(String key) {
// ...
}
}
스프링 캐싱을 효과적으로 활용하여 애플리케이션의 성능을 향상시킬 수 있습니다.
참고문헌:
내용을 작성하는데 도움을 주신 반갑습니다IT님께 감사드립니다.