[프로젝트] 2차 캐시의 적용/ 1차캐시와 2차캐시 차이
2023. 6. 1. 19:20
Spring
yata 프로젝트를 진행하며, 프로젝트 내 테이블과 연관관계가 많아지면서 데이터를 조회/검증 하는 데 많은 쿼리가 나가게 되었다. 또, 이러한 쿼리들이 많아지면서 데이터 베이스 서버의 네트워크 트래픽 증가의 문제가 있었습니다. 따라서 2차캐시를 도입하였다. 1차캐시와 2차캐시 네트워크를 통해 DB에 접근하는 시간 비용은 애플리케이션 서버에서 내부 메모리에 접근하는 비용보다 훨씬 비싸다. 따라서 조회한 데이터를 메모리에 캐시해서 DB접근횟수를 줄이는 것이 효율적이다. 영속성 컨텍스트 내부에는 엔티티를 보관하는 저장소가 있는데 이것을 1차캐시라 한다. 그러나 일반적 웹 애플리케이션 환경은 트랜잭션을 시작하고 종료할 때까지만 1차 캐시가 유효하다. 따라서 애플리케이션 전체로 보면 DB접근 횟수를 획기적으로 줄..