队列 - java redis做app后台 怎么实现多人抢单
阿神
阿神 2017-04-18 10:03:55
0
1
468
阿神
阿神

闭关修行中......

모든 응답(1)
小葫芦

코드의 의미를 잘 이해하지 못하고 설명과도 일치하지 않는 것 같습니다.

redis를 사용하는 것이 불가능하지는 않지만 효율성이 다소 낮을 수 있습니다. 이 문제를 해결하려면 낙관적 잠금을 사용하는 것이 좋습니다.

예:
주문 테이블에 버전 필드가 있다고 가정합니다. 이 필드는 한 방향으로만 증가할 수 있습니다(일반적으로 +1). 선택할 때 version도 확인하세요. 으아악

사용자 A와 사용자 B가 특정 기간 내에 order_id=1, version=1인 주문을 차례로 또는 동시에 찾았다고 가정합니다. UPDATE 중 mysql 행 잠금이 존재하기 때문에 단 한 명의 사용자만 발생합니다. UPDATE가 성공하고(1행이 영향을 받음), 다른 사용자의 UPDATE가 실패(0행이 영향을 받음)한 다음, UPDATE 후 반환된 행 수를 기준으로 사용자가 성공적으로 주문을 가져왔는지 여부를 판단할 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!