[ backend/데이터베이스 ]
[redis] redisson으로 분산락 걸어서 동시성 문제 해결하기
2024-11-19 12:00:41
Repeatable Read 격리 수준으로 인한 동시성 문제 발생내가 진행중인 프로젝트에서 동시성 문제가 발생했다. 요구사항에 의해 하루에 한 번만 미션을 수행할 수 있다. 이를 위해 미션 인증 레코드를 생성하기 전에 오늘 인증 내역이 있는지 확인하고 INSERT 쿼리를 수행한다.@Transactionalpublic void createVerification(final CreateMissionVerificationCommand command) { MissionMember missionMember = missionMemberRepository.getMissionMember(command.memberId(), command.missionId()); // 유효성 검사 진행 (이미 레코드가 있는 경우..