인프런 커뮤니티 질문&답변

해앵인님의 프로필 이미지

작성한 질문수

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

문제점

재고시스템 동시성 문제 해결에 redis incr을 사용해도 되나요?

작성

·

264

0

재고 시스템 강의 듣고 난 이후에 쿠폰시스템 강의 들었는데요,

재고시스템 강의에서 사용한 lock 방식은 성능에 영향이 있으니 쿠폰발급 강의에서 사용했던 redis incr 명령과 set을 사용해서 재고시스템 문제도 해결할 수 있지 않을까 생각이 드는데요. 가능한 방법인가요?

답변 2

0

최상용님의 프로필 이미지
최상용
지식공유자

해앵인님 안녕하세요.
중간의 캐싱용도로 사용하고자 한다면 사용할 수 있을것 같습니다.
다만, 재고의 개수를 redis 로 관리하게 된다면 무수한 상품이 있을때 불편함이 있을것 같습니다.

그렇기때문에 누군가가 물어본다면 추천하지는 않을것 같습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

님께서 질문하신 “재고시스템에서 Redis의 INCR 명령어를 사용하여 동시성 문제를 해결하는 방법”에 대해 답변 드리겠습니다. Redis의 INCR 명령어는 atomic operation이므로, 동시에 여러 요청이 들어와도 각 요청에 대해 하나씩만 증가시킵니다. 이를 통해 동시성 문제를 효과적으로 관리할 수 있습니다. 그러나, 실제 재고 수량을 차감하는 과정에서는 재고가 마이너스가 되지 않도록 별도의 검사 로직을 추가하는 것이 중요합니다. 또한, Redis를 사용할 때는 데이터의 지속성(persistence) 및 복구 메커니즘도 고려해야 합니다. 재고 시스템의 특성과 요구 사항에 따라 적절한 사용이 필요할 수 있으니, 성능과 데이터 일관성 측면에서 꼼꼼하게 고려 후 적용하시는 것이 바람직합니다.