이전에 작성된 zk 기반 분산 락은 다음과 같습니다:
Redis는 분산 잠금 원칙을 구현합니다:
Redis에서 분산 락을 구현하는 원칙은 redis의 SETNX 명령을 호출하는 것이고, 키가 이미 존재하면 SETNX 명령어는 아무 일도 하지 않습니다. 명령어는 설정이 성공하면 1, 실패하면 0으로 반환합니다.
먼저, 저희 웹사이트는 10,000개의 제품을 시뮬레이션한 후, HTTP 요청을 시뮬레이션하는 콘솔을 작성합니다. 구매 완료까지 40초가 걸립니다. 렌더링 방식은 다음과 같습니다:
Core 3.1 ASP.NET 새 웹사이트를 만들고, redis lock 패키지는 다음과 같습니다:
인터넷에서 많은 해제 잠금장치가 다음과 같이 쓰여 있는 것을 봤습니다:
하지만 문제가 있을 것 같은데, 동시성의 경우에는 판단 시점에 true를 반환할 수 있고, 실제로 자기 자체에 추가된 잠금이지만, 잠금이 삭제될 때는극단적인 경우, 다른 스레드가 다른 스레드에 의해 획득된 상태이며, 다른 사람의 잠금이 삭제될 경우를 대비합니다.
따라서 자물쇠를 얻을 때는 실을 열어 자물쇠의 만료 시간을 연장해야 합니다.
WeatherForecastController 인터페이스는 다음과 같습니다:
명령줄을 통해 API 웹사이트를 시작할 수 있으며, 명령줄은 다음과 같이 쉽게 재시작할 수 있습니다:
새로운 .NET Core 모형 HTTP 요청을 생성하여 스냅 구매를 위해 코드를 작성하세요:
문제가 있다면 정정해 주셔서 감사합니다.
마지막으로 소스 코드를 첨부하세요:
관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다 회답
|