본문 바로가기

Development/Web & Server

[Hibernate] 2차 캐시 내장 동시성 전략

1. Transactional

 - 관리형 환경에서만 이용 가능하며, 필요한 경우 '반복 가능한 읽기'까지의 트랜잭션 격리 수준을 완전하게 보장한다. 주로 읽기만 하는(갱신은 거의 일어나지 않는)데이터에 이 전략을 사용한다.


2. Read-Write

 - 타임스탬프 메커니즘을 사용해'커밋된 읽기' 격리 수준을 유지하며, 클러스터 환경이 아닌 곳에서만 이용할 수 있다. 마찬가지로 주로 읽기만 하는(갱신은 거의 일어나지 않는)데이터에 이 전략을 사용한다.


3. Nonstrict-Read-Write

 - 캐시와 데이터베이스 간의 일관성을 보장하지 않는다. 동일한 엔티티에 동시에 접근할 가능성이 있다면 타임아웃 만료를 가능한 짧게 구성해야 한다. 그렇지 않으면 캐시에서 스테일 데이터를 읽어올지도 모른다. 스테일 데이터가 발생하더라도 치명적이지 않은 경우에 이 전략을 사용한다.


4. Read-only

  - 절대로 변경되지 않는 데이터에 적합한 동시성 전략이다.