JVM/JPA

2차 캐시

kyoulho 2023. 7. 5. 18:48

애플리케이션 범위에서 공유하는 캐시를 Shared Cache, Secon Level Cache, L2 Cache라고 부른다.

DB에서 조회한 데이터는 2차 캐시에 보관되고, 2차 캐시는 해당 엔티티의 복사본을 만들어 1차 캐시에 반환한다.

하지만 스프링이 지원하는 캐시를 서비스 계층에서 사용하는 것이 더 효과적이다.

 

Entity에 @Cacheable을 붙여주면 캐시 모드를 설정할 수 있다.

spring:
  jpa:
    properties:
	  javax:
        persistence:
          sharedCache:
            mode: ENABLE_SELECTIVE
            
      hibernate:
        generate_statistics: true
          format_sql: true
          
          cache:
            use_second_level_cache: true
            region:
              factory_class: org.hibernate.cache.ehcache.EhCacheRegionFactory         
logging:
  level:
    net:
      sf:
        ehcache: debug

'JVM > JPA' 카테고리의 다른 글

PostgreSQL Array 타입 JPA 연동  (0) 2023.11.12
낙관적 락과 비관적 락  (0) 2023.07.05
트랜잭션을 지원하는 쓰기 지연  (0) 2023.07.04
SQL 쿼리 힌트 사용  (0) 2023.07.04
읽기 전용 쿼리의 성능 최적화  (0) 2023.07.04