로딩
요청 처리 중입니다...

공통 코드 캐싱(feat. @SpringCache)

 공통 코드 캐싱(feat. @SpringCache)

두 번째 프로젝트 마무리가 얼마 안남은 시점에 코드 리팩토링 중 한가지 이슈를 발견했다. 바로 공통 코드(다국어 처리 및 상태 코드)중 몇 개가 사용될때마다 매번 디비를 조회하고 있었다. public List getCommCode(String codeId) { String lang = User.getLang() List result = repository.findAll(lang); ... // return result.stream().... } 처음에는 Map 필드를 만들어 공통 코드를 heap 메모리에 올려두고 꺼내 쓰는 방식으로 코딩을 하고 있다가...

문득 스프링에서 이런것도 다 제공하지 않을까 생각이 들었다. 역시 @Cacheable을 통해 간단히 조회 결과를 자동으로 메모리에 캐싱해주는 기능이 존재했다.

레디스를 캐시 저장소로 사용했을때 써봤지만 이렇게 JVM 메모리 캐시로 기능은 몰랐기에 새롭게 다가왔다. 적용도 매우...