기존 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