[스프링] 스프링 캐싱 설정 방법

스프링 캐싱은 애플리케이션에서 반복적으로 사용되는 데이터나 연산 결과를 메모리에 저장하여 빠르게 접근할 수 있도록 하는 기술입니다. 이를 통해 시스템의 성능을 향상시킬 수 있으며, @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님께 감사드립니다.