Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 163142|Svare: 27

[.NET Core] [Faktisk kamp] ASP.NET Core er basert på Redis distribuert lås flash-salg

[Kopier lenke]
Publisert på 26.09.2020 15:34:26 | | | |
Den tidligere skrevne zk-baserte distribuerte låsen er som følger:

.net/c# Zookeeper distribuert lås-implementering [kildekode]
https://www.itsvse.com/thread-4651-1-1.html
Redis implementerer prinsippet om distribuert låsing:

.NET Core implementerer prinsippparsing av distribuert lås basert på Redis
https://www.itsvse.com/thread-9391-1-1.html
Prinsippet for å implementere distribuerte låser i Redis er å kalle SETNX-kommandoen i redis, og hvis nøkkelen allerede eksisterer, gjør SETNX-kommandoen ingenting. Kommandoen returnerer 1 når innstillingen lykkes, og 0 når innstillingen feiler.


Først simulerer nettsiden vår 10 000 produkter, og deretter skriver vi en konsoll som simulerer HTTP-forespørsel, som tar 40 sekunder å fullføre kjøpet, renderingen er som følger:



Opprett et nytt nettsted ASP.NET Core 3.1, og redis lock-pakken er som følger:

Jeg så at mange release-låser på Internett er skrevet slik:

Det føles imidlertid som om det kan være et problem, i tilfelle samtidighet er det mulig å returnere true på tidspunktet for dommen, det er faktisk en lås som legges til av seg selv, men når låsen slettes, kan den være iI ekstreme tilfeller, låsen er blitt oppnådd av en annen tråd, i tilfelle noen andres lås blir slettet.

Derfor, når du skaffer en lås, må du åpne en tråd for å forlenge låsens utløpstid.

Grensesnittet til WeatherForecastController er som følger:


Du kan starte API-nettstedet via kommandolinjen, som enkelt kan startes på nytt, som følger:



Opprett en ny .NET Core-mockup HTTP-forespørsel for snap-kjøp, koden er som følger:


Hvis det er noe galt, takk for at du rettet det.

Til slutt, legg ved kildekoden:

Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snillSvare





Foregående:JS tilpasser seg skjermstørrelseskarusellgrafen
Neste:Denne detaljerte forklaringen av Javascript
 Vert| Publisert på 09.05.2021 21:12:58 |
Nettsidesimuleringer har10 000 gjenstander, og skrev deretter en konsoll for å simulere HTTP-forespørselstiden Utsolgt er ferdig på 6 sekunder


.NET Core implementerer distribuerte låser basert på Redis Lua [med kildekode]
https://www.itsvse.com/thread-9642-1-1.html


Publisert på 05.11.2023 11:02:52 |
Se på Console.WriteLine($"Rush Successful: {safeInstanceSucceededCount}, Failed: {safeInstanceFailedCount}, Utsolgt: {safeInstanceDoneCount}");
 Vert| Publisert på 27.04.2021 11:17:53 |
Det er noen problemer med koden, og Task blocking bør bruke await Task.Delay(i);  , ikke bruk søvn
Publisert på 27.09.2020 14:13:33 |
,,
Publisert på 05.10.2020 11:12:20 |
Publisert på 02.11.2020 15:39:13 |
DFDSFDSFDS
Publisert på 05.11.2020 10:08:13 |
Kildekode trengs hahahahahahahaha
Publisert på 02.12.2020 15:11:30 |
Takk for at du delte.
Publisert på 07.12.2020 21:10:03 |
[Faktisk kamp] ASP.NET Core er basert på Redis distribuert lås flash-salg
Publisert på 09.12.2020 17:17:34 |
Sjekk ut selve effekten og kildekoden.
Publisert på 20.01.2021 15:17:50 |
Takk, takk, takk, takk
Publisert på 26.01.2021 16:10:46 |
MARK MARK MARK MARK
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com