spring
@Transactional 내에서 Spring Cache의 동작
Spring을 사용할 때 성능 향상을 위해 Cache는 기본적으로 사용을 해야 한다. Spring Cache를 사용하다가 몇 가지 궁금점이 있어서 정리를 해보았다. @Transactional이 적용된 메소드 내에서 Cache가 정상적으로 동작(commit/rollback)하기 위해서 어떻게 해야 할까? 트랜잭션 내에서 @CachePut은 언제 적용이 되는걸까? 트랜잭션이 끝난시점일까? 아님 해당 메소드 내에서 로직이 수행되는 시점일까? Cache를 적용한 동일 클래스 내에서 다른 메소드를 호출하면 왜 Cache가 사용되지 못할까? 우선 위의 케이스를 테스트하기 위해 기본적인 서비스를 하나 만들었다. [사용자(User) 서비스] controller UserController: Rest API service..
2023. 1. 12. 20:37