스프링은 캐싱 기능을 쉽게 추가할 수 있도록 추상화를 제공한다.
@Cacheable
, @CacheEvict
등).동작 원리:
예시 코드:
@Service
class ExampleService {
@Cacheable(value = ["exampleCache"])
fun fetchData(key: String): String {
println("Fetching data for $key") // 캐싱 시 출력되지 않음
return "Data for $key"
}
}
설명:
value
: 캐시 이름을 지정합니다. (여러 캐시 관리자가 동일한 이름을 사용해도 된다.)exampleCache
**라는 이름의 캐시에 저장된다.Spring Boot 프로젝트 생성:
필요한 의존성:
implementation("org.springframework.boot:spring-boot-starter-cache")
캐시를 활성화하기 위해 @EnableCaching
추가:
@SpringBootApplication
@EnableCaching
class CacheExampleApplication
fun main(args: Array<String>) {
runApplication<CacheExampleApplication>(*args)
}
간단한 캐시 테스트 코드 작성:
ExampleService
**를 생성하고, 캐시 적용 여부를 확인합니다.