Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 163142|Svar: 27

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

[Kopier link]
Opslået på 26/09/2020 15.34.26 | | | |
Den tidligere skrevne zk-baserede distribuerede lås er som følger:

.net/c# Zookeeper distribueret låseimplementering [kildekode]
https://www.itsvse.com/thread-4651-1-1.html
Redis implementerer princippet om distribueret låsning:

.NET Core implementerer parsing af distribueret låseprincip baseret på Redis
https://www.itsvse.com/thread-9391-1-1.html
Princippet for at implementere distribuerede låse i Redis er at kalde SETNX-kommandoen redis, og hvis nøglen allerede eksisterer, gør SETNX-kommandoen ingenting. Kommandoen returnerer 1, når indstillingen lykkes, og 0, når indstillingen fejler.


Først simulerer vores hjemmeside 10.000 produkter og skriver derefter en konsol, der simulerer HTTP-forespørgsel, hvilket tager 40 sekunder at gennemføre købet, renderingen er som følger:



Opret en ny hjemmeside ASP.NET Core 3.1, og redis lock-pakken er som følger:

Jeg så, at mange release-låse på internettet er skrevet således:

Det føles dog som om, der kan være et problem; i tilfælde af samtidighed er det muligt at returnere true på tidspunktet for dommen, det er faktisk en lås, der er tilføjet af sig selv, men når låsen slettes, kan den være iI ekstreme tilfælde, låsen er blevet opnået af en anden tråd, hvis en andens lås bliver slettet.

Derfor skal du, når du får en lås, åbne en tråd for at forlænge låsens udløbstid.

WeatherForecastController-grænsefladen er som følger:


Du kan starte API-hjemmesiden via kommandolinjen, som nemt kan genstartes, som følger:



Opret en ny .NET Core mockup HTTP-anmodning til snap-køb, koden er som følger:


Hvis der er noget galt, tak fordi du rettede det.

Endelig vedhæft kildekoden:

Turister, hvis I vil se det skjulte indhold i dette indlæg, så vær venligSvar





Tidligere:JS tilpasser sig skærmstørrelseskarruselgrafen
Næste:Denne detaljerede forklaring af Javascript
 Udlejer| Opslået på 09/05/2021 21.12.58 |
Webstedssimuleringer har10.000 genstande, og skrev derefter en konsol til at simulere HTTP-anmodningstiden Det udsolgte spil er færdigt på 6 sekunder


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


Opslået på 05/11/2023 11.02.52 |
Se på Console.WriteLine($"Rush Successful: {safeInstanceSucceededCount}, Failed: {safeInstanceFailedCount}, Udsolgt: {safeInstanceDoneCount}");
 Udlejer| Opslået på 27/04/2021 11.17.53 |
Der er nogle problemer med koden, og Task blocking bør bruges await Task.Delay(i);  , brug ikke søvn
Opslået på 27/09/2020 14.13.33 |
Mark, Mark, Mark
Opslået på 05/10/2020 11.12.20 |
Mark Mark Mark
Opslået på 02/11/2020 15.39.13 |
DFDSFDSFDS
Opslået på 05/11/2020 10.08.13 |
Kildekode er nødvendig hahahahahahaha
Opslået på 02/12/2020 15.11.30 |
Tak fordi du delte.
Opslået på 07/12/2020 21.10.03 |
[Faktisk kamp] ASP.NET Core er baseret på Redis distribueret lås flash-salg
Opslået på 09/12/2020 17.17.34 |
Tjek den faktiske effekt og kildekoden.
Opslået på 20/01/2021 15.17.50 |
Tak, tak, tak, tak
Opslået på 26/01/2021 16.10.46 |
MARK MARK MARK MARK
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com