Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 163142|Odgovoriti: 27

[.NET Core] [Dejanski boj] ASP.NET Core temelji na Redis distributed lock flash sale

[Kopiraj povezavo]
Objavljeno na 26. 09. 2020 15:34:26 | | | |
Prej napisana razpršena ključavnica na osnovi zk je naslednja:

.net/c# Implementacija porazdeljene ključavnice Zookeeper [Izvorna koda]
https://www.itsvse.com/thread-4651-1-1.html
Redis izvaja načelo porazdeljenega zaklepanja:

.NET Core implementira porazdeljeno razčlenjevanje principov zaklepanja na osnovi Redis
https://www.itsvse.com/thread-9391-1-1.html
Načelo implementacije porazdeljenih ključavnic v Redisu je, da pokličete ukaz SETNX v redisu, in če ključ že obstaja, ukaz SETNX ne naredi ničesar. Ukaz vrne 1, ko nastavitev uspe, in 0, ko nastavitev ne uspe.


Najprej naša spletna stran simulira 10.000 izdelkov, nato pa napiše konzolo, ki simulira HTTP zahtevo, kar traja 40 sekund za dokončanje nakupa, upodobitev pa je naslednja:



Ustvarite novo spletno stran ASP.NET Core 3.1 in paket redis lock je naslednji:

Vidim, da je veliko zaklepov za sprostitev na internetu zapisanih takole:

Vendar pa se zdi, da obstaja težava; v primeru sočasnosti je mogoče vrniti true ob razsodbi, res je ključavnica, dodana sama po sebi, vendar ko je zaklep izbrisan, je lahko vV skrajnih primerih, zaklep je pridobil drug niz, v primeru, da je zaklep nekoga drugega izbrisan.

Zato morate pri pridobivanju ključavnice odpreti nit, da podaljšate čas trajanja ključavnice.

Vmesnik WeatherForecastController je naslednji:


Spletno stran API-ja lahko zaženete preko ukazne vrstice, ki jo je mogoče enostavno ponovno zagnati, kot sledi:



Ustvarite novo .NET Core maketo HTTP zahteve za nakup snap-a, koda je naslednja:


Če je kaj narobe, hvala, ker ste to popravili.

Na koncu priložite izvorno kodo:

Turisti, če želite videti skrito vsebino te objave, prosimOdgovoriti





Prejšnji:JS se prilagaja grafu karusela velikosti zaslona
Naslednji:Ta podrobna razlaga Javascripta
 Najemodajalec| Objavljeno na 9. 05. 2021 21:12:58 |
Spletne simulacije imajo10000 predmetov, nato pa je napisal konzolo za simulacijo časa HTTP zahteve Razprodan je v 6 sekundah


.NET Core implementira distribuirane ključavnice na osnovi Redis Lua [z izvorno kodo]
https://www.itsvse.com/thread-9642-1-1.html


Objavljeno na 5. 11. 2023 11:02:52 |
Poglejte Console.WriteLine($"Rush Successful: {safeInstanceSuccessedCount}, Failed: {safeInstanceFailedCount}, Sold Out: {safeInstanceDoneCount}");
 Najemodajalec| Objavljeno na 27. 04. 2021 11:17:53 |
Obstajajo nekatere težave s kodo, zato naj bi blokiranje nalog uporabilo await Task.Delay(i);  , ne uporabljajte spanja
Objavljeno na 27. 09. 2020 14:13:33 |
Mark, Mark, Mark
Objavljeno na 5. 10. 2020 11:12:20 |
Mark Mark
Objavljeno na 2. 11. 2020 15:39:13 |
dfdsfdsfds
Objavljeno na 5. 11. 2020 10:08:13 |
Potrebna je izvorna koda hahahahahahahaha
Objavljeno na 2. 12. 2020 15:11:30 |
Hvala, ker si delil.
Objavljeno na 7. 12. 2020 21:10:03 |
[Dejanski boj] ASP.NET Core temelji na Redis distributed lock flash sale
Objavljeno na 9. 12. 2020 17:17:34 |
Preveri dejanski učinek in izvorno kodo.
Objavljeno na 20. 01. 2021 15:17:50 |
Hvala, hvala, hvala, hvala
Objavljeno na 26. 01. 2021 16:10:46 |
MARK MARK MARK MARK
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com