카테고리 없음

스프링에서의 cache

하얀잔디 2023. 1. 26. 15:29

기존 cache 처리라고하면 떠올리는게 Redis이다.

 

이는 추가적인 메모리 DB를 사용하거나 application레벨에서 사용가능한 EhCache등이 많이 쓰이는데,

 

이 중 application레벨에서 사용가능한 spring cache가 있다.

 

spring cache는 cache 기능의 추상화를 지원하는데, EhCache, Couchbase, Redis 등의 추가적인 캐시 저장소와 빠르게 연동하여 bean으로 설정 할 수 있도록 도와준다. 만일 추가적인 캐시 저장소와 연결하지 않는다면, ConcurrentHashMap 기반의 Map 저장소가 자동으로 추가된다. 캐시를 쓰긴 써야하는데, EhCache까지는 쓸 필요는 없고, 간단하게 몇몇 토큰 정도만 캐시처리가 필요 한 경우 빠르게 사용 할 수 있다.

 

로컬 캐시 저장소의 주의할 점 :

 

application간의 공유가 불가능하다는 것.

 

pring cache 를 사용하는 web application instance가 10대 인 경우, 10대가 각각 캐시 저장소를 구성한다. 만일 10대의 instance가 공유해야 하는 캐시 저장소인 경우, 외부의 Redis, MemCached를 이용하는게 맞다. 따라서 여러대의 instance가 존재하는 웹 서비스 등의 경우에는 이를 사용하면 안된다.

 

내가 했던것:조회수 늘리기 로직관련이었다. 조회수 업데이트는 정말 자주 일어나기 때문이었다.

 

dependency 추가 :

 

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

 

 

참고 : https://gngsn.tistory.com/157

 

Spring Cache, 제대로 사용하기

Spring Cache 사용법, Annotation 등을 알아보고 설정 방식을 알아보는 것이 해당 포스팅의 목표입니다. 📌 Spring Cache Series ✔ Spring Cache, 제대로 사용하기 ✔ Caffeine Cache, 제대로 사용하기 1 ✔ Caffeine Cac

gngsn.tistory.com

https://sunghs.tistory.com/132