Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 163142|Odpoveď: 27

[.NET Core] [Skutočný boj] ASP.NET Core je založený na Redis distribuovanom výpredaji zámkov

[Kopírovať odkaz]
Zverejnené 26. 9. 2020 15:34:26 | | | |
Predtým napísaný zk-based distributed lock je nasledovný:

.net/c# Implementácia distribuovaného zámku Zookeeper [Zdrojový kód]
https://www.itsvse.com/thread-4651-1-1.html
Redis implementuje princíp distribuovaného zamykania:

.NET Core implementuje distribuované parsovanie princípu zámkov na základe Redis
https://www.itsvse.com/thread-9391-1-1.html
Princíp implementácie distribuovaných zámkov v Redis spočíva v zavolaní príkazu SETNX v redis, a ak kľúč už existuje, príkaz SETNX nič nerobí. Príkaz vráti 1, keď nastavenie uspeje, a 0, keď nastavenie zlyhá.


Najprv naša webová stránka simuluje 10 000 produktov a potom napíše konzolu simulujúcu HTTP požiadavku, ktorá trvá 40 sekúnd na dokončenie nákupu, pričom zobrazenie je nasledovné:



Vytvorte novú webovú stránku ASP.NET Core 3.1 a balík Redis Lock je nasledovný:

Videla som, že mnohé uvoľňujúce zámky na internete sú napísané nasledovne:

Zdá sa však, že môže byť problém, v prípade súbežnosti je možné vrátiť true v čase hodnotenia, je to skutočne zámok pridaný sám o sebe, ale keď sa zámok odstráni, môže byť vV extrémnych prípadoch, zámok bol získaný iným vláknom, pre prípad, že by bol zámok niekoho iného vymazaný.

Preto pri získavaní zámku musíte otvoriť závit, aby ste predĺžili jeho vypršanie.

Rozhranie WeatherForecastController je nasledovné:


Webovú stránku API môžete spustiť cez príkazový riadok, ktorý sa dá jednoducho reštartovať, nasledovne:



Vytvorte novú .NET Core maketu HTTP požiadavky na nákup snapu, kód je nasledovný:


Ak je niečo zlé, ďakujem za opravu.

Nakoniec pripojte zdrojový kód:

Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím.Odpoveď





Predchádzajúci:JS sa prispôsobuje grafu karuselu veľkosti obrazovky
Budúci:Toto podrobné vysvetlenie Javascriptu
 Prenajímateľ| Zverejnené 9. 5. 2021 21:12:58 |
Simulácie na webových stránkach majú10000 položiek, a potom napísal konzolu na simuláciu času HTTP požiadavky Vypredaný zápas trvá 6 sekúnd


.NET Core implementuje distribuované zámky založené na Redis Lua [so zdrojovým kódom]
https://www.itsvse.com/thread-9642-1-1.html


Zverejnené 5. 11. 2023 11:02:52 |
Pozrite sa na Console.WriteLine($"Rush Successful: {safeInstanceSuccessedCount}, Failed: {safeInstanceFailedCount}, Sold Out: {safeInstanceDoneCount}");
 Prenajímateľ| Zverejnené 27. 4. 2021 11:17:53 |
S kódom sú určité problémy a blokovanie úloh by malo používať await Task.Delay(i);  , nepoužívajte spánok
Zverejnené 27. 9. 2020 14:13:33 |
Mark, mark, mark
Zverejnené 5. 10. 2020 11:12:20 |
Mark Mark Mark
Zverejnené 2. 11. 2020 15:39:13 |
dfdsfdsfds
Zverejnené 5. 11. 2020 10:08:13 |
Zdrojový kód je potrebný hahahahahahaha
Zverejnené 2. 12. 2020 15:11:30 |
Ďakujem, že si sa podelil.
Zverejnené 7. 12. 2020 21:10:03 |
[Skutočný boj] ASP.NET Core je založený na Redis distribuovanom výpredaji zámkov
Zverejnené 9. 12. 2020 17:17:34 |
Pozrite si skutočný efekt a zdrojový kód.
Zverejnené 20. 1. 2021 15:17:50 |
Ďakujem, ďakujem, ďakujem, ďakujem
Zverejnené 26. 1. 2021 16:10:46 |
MARK MARK MARK MARK
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com