JPA 1차 캐시와 2차 캐시 — 캐시 전략으로 DB 부하를 줄이는 방법
·
JPA
들어가며안녕하세요.JPA에는 캐시(Cache) 가 두 단계로 존재합니다. 바로 1차 캐시와 2차 캐시입니다.이전 글에서 영속성 컨텍스트와 엔티티 상태를 다루면서 1차 캐시를 잠깐 언급했습니다. 처음엔 "캐시가 왜 두 개나 필요하지?" 싶었는데 공부하면서 각각의 역할이 꽤 다르다는 걸 알게 됐습니다.이번 글에서는 1차 캐시가 정확히 어떻게 동작하는지, 그리고 1차 캐시만으로는 왜 부족한지, 그 한계를 2차 캐시가 어떻게 보완하는지 정리해보려 합니다. 캐시를 잘못 쓰면 데이터 불일치 같은 버그로 이어질 수 있어서 언제 써야 하고 언제 쓰면 안 되는지도 함께 정리했습니다.1. 1차 캐시란?1차 캐시는 영속성 컨텍스트 내부에 있는 Map 형태의 저장소입니다.별도 설정 없이 JPA를 사용하는 순간부터 항상 동작하..