inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

재고시스템으로 알아보는 동시성이슈 해결방법

Redis 질문입니다

335

skehdxhd

작성한 질문수 14

0

현재 재고로직 처리하면서 redis를 사용하며

다음과 같은 로직으로 구현하려 합니다.

 

  1. 재고는 redis에 넣어둔다.

  2. Redis에서 가져올수 없는 경우, rdb에 쿼리한다.

 

이때, 만약 rdb에서 재고를 가져오는 경우 어떻게 가져올수 있을까요?

 

rdb데이터가 redis와 동기화되어 똑같이 있다면 다시 가져와 redis에 다시 넣어두면 되는데

어떻게 동기화시킬수 있나요??

 

주문이 끝날때마다 재고 rdb테이블에 insert하거나 update치면 rdb에 가해지는 부하나 재고rdb테이블의 lock으로 인한 성능저하는 redis를 쓰지 않을때와 별반 다르지 않지 않을까요??

 

java spring 동시성

답변 1

0

최상용

skehdxhd 님 안녕하세요.

Q. rdb 에서 재고를 가져오는 경우 어떻게 가져올 수 있을까요 ?

A. rdb 에 쿼리를 실행시켜 가져오면 됩니다. 설계를 어떻게 하셨는지에 따라 다르겠으나 상품아이디 1 번에 대한 재고를 가져오려면 select * from stock where id = 1 과 같은 쿼리가 될 수 있겠습니다.

Q. rdb데이터가 redis와 동기화되어 똑같이 있다면 다시 가져와 redis에 다시 넣어두면 되는데 어떻게 동기화시킬수 있나요??

A. 질문도 어떤의도인지 파악을 못했습니다. 어떤 상황이신지 저는 전혀 알지못하기때문에 질문해주신것만 보고는 어떤것을 얻고자하시는 것인지 파악을 할 수가 없었습니다. 조금 더 자세하게 설명해 주실 수 있으실까요 ?

Q. 주문이 끝날때마다 재고 rdb테이블에 insert하거나 update치면 rdb에 가해지는 부하나 재고rdb테이블의 lock으로 인한 성능저하는 redis를 쓰지 않을때와 별반 다르지 않지 않을까요??

A. 이 부분도 redis 를 어떻게 사용하신다는것인지 알수가 없기때문에 답변을 드리기는 힘들 것 같습니다.

레디선 테스트코드에서 채널이름은 없어도 되는건가요?

0

45

2

낙관적 락을 사용할 떄 차이점

0

125

2

동시성 검증 코드에 관한 문의

0

96

2

단일연산

0

70

2

낙관적락vs. 레디스락

0

108

2

안녕하세요. 레디슨 질문있습니다..!!

0

67

2

@Lock(OPTIMISTIC)이 필요한 이유

0

90

2

get_lock 의 timeout이 3000초 이던데 너무 긴거 아닌가요?

0

132

2

DataSource Hikari 사용 이유

0

148

2

saveAndFlush 사용 이유 문의

0

113

3

비관적 락 VS 네임드 락

0

161

3

application.yaml 에 redis 정보

0

101

2

왜 클래스 이름에 Facade 가 붙나요?

0

185

2

@Transactional 으로 인한 동시성 문제 발생 원인이 궁금합니다.

0

220

2

@modifying 이용한 동시성 제어

0

168

2

DB락과 분산락

0

262

2

NamedLock 테스트 실패

0

186

2

테스트에서 트랜잭션 어노테이션 질문 있습니다.

0

174

2

optimistic Lock 재시도 질문입니다.

0

233

2

낙관적 락 테스트 실패

0

242

2

오류?

0

1630

4

LettureLockStockFacadeTest에서 오류가 발생합니다.

1

268

2

Pessimistic Lock 전체 테스트 오류 문의

0

362

3

비관적 락 vs 레디스(Lettuce)락 비교 관련 질문

0

462

2