nosql (2) 썸네일형 리스트형 Spring Redis 분산 락 사용법 우선 Redis의 고급 기능 들을 지원해주는 Redisson 클라이언트 종속성을 build.gradle에 넣어준다 당연한 얘기지만 로컬환경에 redis를 미리 다운 받아 놔야한다.macOS에서는 brew 로 쉽게 설치가 가능하다. build.gradledependecies{ //... implementation 'org.springframework.boot:spring-boot-starter-data-redis' implementation 'org.redisson:redisson-spring-boot-starter:3.17.0'} 나는 선착순 티켓팅에서 동시성 문제를 해결하기 위해 분산 락을 걸어줄 것이다!! 아래와 같이 작성한다. package softeer.demo.config;import or.. NoSQL vs SQL 선착순 쿠폰 이벤트 개발을 위해서 NoSQL 중 일종인 Redis를 사용해야 하는가?? 아니면 MySQL로 JPA에서 지원하는 LOCK을 사용해야 하는가?? LOCK을 사용한다면 비관적 락 (Pessimistic Lock) vs 낙관적 락 (Optimistic Lock) 어떤걸 사용해야 하는가?비관적 락(Pessimistic Lock)비관적 = 앞으로의 일이 잘 안될 것이라고 보는 것.트랜잭션 충돌이 발생한다는 가정하에 우선 락을 걸고 보는 방식데이터베이스에서 사용하는 락 사용 (PESSIMISTIC_FORCE_INCREMENT 모드가 아니라면, 버전 정보 사용안함)SELECT ~ FOR UPDATE 구문 사용낙관적 락 (Optimistic Lock)낙관적 = 앞으로의 일 따위가 잘되어 갈 것으로 여기는.. 이전 1 다음