Spring cache

정명진·2023년 7월 4일
0
post-custom-banner

동일한 결과를 제공하는 API를 사용하는 경우 요청시마다 통신을 할 이유가 없다.

비용적, 성능적면에서도 불리함을 갖게 된다. 캐시는 Redis 만 알고 있었는데 이번에 공부를 하며 Spring에서도 Cache 기능을 제공하는걸 알게 되었다.

우선 의존성을 추가해야한다.

implementation "org.springframework.boot:spring-boot-starter-cache"

그리고 나서 캐시를 관리할 캐시 매니저 빈을 생성해야 한다.

여러가지가 사용한데 저는 CaffeineCacheManager 를 사용하였습니다.

빈 설정을 하고 나면 다음과 같이 @Cacheable annotation을 사용해 캐싱 기능을 사용할 수 있습니다.

@Cacheable(value = "blogApi", key = "{#query, #sort, #page, #size}")
public SearchResponseData do(String query, String sort, Integer page, Integer size) {
		.......
}

각종 플랫폼의 검색 API를 이용하는 메소드이다. 그런데 거의 동일한 결과를 제공하므로 같은 요청에 대해서는 위와 같이 캐시처리를 하여 비용과 성능을 잡을 수 있다.

profile
개발자로 입사했지만 정체성을 잃어가는중... 다시 준비 시작이다..
post-custom-banner

0개의 댓글