본문 바로가기

트랜잭션2

[간단 장애 회고] Redis + @Transactional (트랜잭션에서 Redis Get은 항상 null을 리턴한다. 트랜잭션 없는 상위 메서드에서 트랜잭션 있는 하위 메서드 호출은 에러다.) 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 사건의 개요 Spring Boot에서 @Transactional 어노테이션을 사용하여 Redis에 대해 트랜잭션을 사용했습니다. 하지만 문제가 발생했습니다. 하나의 트랜잭션에서 Redis Get와 Redis Set을 사용할 때 Redis Get가 조회되지 않고 항상 null을 발생시켰습니다. +a 배경지식 : Spring Data Redis + @Transactional Spring Boot에서 Redis 저장소를 사용합니다. 연결하기 위해서는 spring-boot-starter-data-redis 의존성을 사용합니다. 해당 의존성은 Redis Client인 lettuce 라이브러리를 사용합니다. JDBC나 JPA에서 사용하는 @Transactiona.. 2022. 12. 18.
[일일 회고] 22.05.18 - "DB 트랜잭션, JPA를 배우기까지" 📚 배운 것 DB 트랜잭션에 대하여 코드 스쿼드 호눅스의 마스터 시간에 DB 트랜잭션에 대해 배웠다. 무척 값진 시간이었다. Jim Gray 소개 Jim Gray는 DB 발전에 큰 기여를 했다. 세계 최초의 관계형 데이터베이스인 System-R을 개발했다. 트랜잭션, 2 Phase Locking, Granularity Locking 개념을 제안했고 1992년 명저 "트랜잭션 처리: 개념과 기법(Transaction Processing: Concepts and Techniques)" 를 썼다. 트랜잭션의 성질 A: Atomicity(원자성) : all or nothing C: Consistency I: Isolation D: Durability 트랜잭션이란 트랜잭션은 작업의 완전성을 보장한다. 여러 읽기/.. 2022. 5. 19.