[스프링] 스프링 캐시 구현 방법

스프링 프레임워크는 캐시를 효과적으로 활용하기 위한 기능을 제공합니다. 캐시를 사용하여 반복적으로 요청되는 데이터나 계산을 임시 저장함으로써 응답 시간을 줄이고 서버 부하를 낮출 수 있습니다.

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초로 설정합니다.

스프링을 사용하여 캐시를 구현하면 성능 향상시스템 부하 감소를 기대할 수 있습니다.

더 많은 정보는 공식 스프링 문서를 참고하세요.