Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 163142|Odpověď: 27

[.NET Core] [Skutečný boj] ASP.NET Core je založen na Redis distribuované výprodeji zámků

[Kopírovat odkaz]
Zveřejněno 26.09.2020 15:34:26 | | | |
Dříve napsaný distribuovaný zámek založený na zk je následující:

.net/c# Implementace distribuovaného zámku v Zookeeperu [Zdrojový kód]
https://www.itsvse.com/thread-4651-1-1.html
Redis implementuje princip distribuovaného uzamčování:

.NET Core implementuje distribuované parsování principů zámků založené na Redisu
https://www.itsvse.com/thread-9391-1-1.html
Princip implementace distribuovaných zámků v Redis spočívá v zavolání příkazu SETNX v redis, a pokud klíč již existuje, příkaz SETNX nic neudělá. Příkaz vrátí 1, když nastavení uspěje, a 0, když nastavení selže.


Nejprve naše webová stránka simuluje 10 000 produktů a poté napíše konzoli simulující HTTP požadavek, který trvá 40 sekund na dokončení nákupu, přičemž vykreslování je následující:



Vytvořte novou webovou stránku ASP.NET Core 3.1 a balíček Redis Lock je následující:

Viděl jsem, že mnoho zámků na internetu je napsáno následovně:

Nicméně se zdá, že může být problém, v případě souběžnosti je možné vrátit true v době rozsudku, skutečně je to zámek přidaný sám o sobě, ale když je zámek odstraněn, může být vV extrémních případech, zámek byl získán jiným vláknem, pro případ, že by byl zámek někoho jiného smazán.

Proto při získávání zámku musíte otevřít vlákno, abyste prodloužili dobu jeho vypršení.

Rozhraní WeatherForecastController je následující:


Web API můžete spustit přes příkazový řádek, který lze snadno restartovat, následovně:



Vytvořte nový návrh .NET Core pro HTTP požadavek pro nákup snapu, kód je následující:


Pokud je něco špatně, děkuji za opravu.

Nakonec přiložte zdrojový kód:

Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosímOdpověď





Předchozí:JS se přizpůsobuje grafu karusel velikosti obrazovky
Další:Toto podrobné vysvětlení Javascriptu
 Pronajímatel| Zveřejněno 09.05.2021 21:12:58 |
Simulace webových stránek mají10000 položek, a poté napsal konzoli pro simulaci času HTTP požadavku Vyprodaný zápas trvá 6 sekund


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


Zveřejněno 05.11.2023 11:02:52 |
Podívejte se na Console.WriteLine($"Rush Successful: {safeInstanceSuccessedCount}, Failed: {safeInstanceFailedCount}, Sold Out: {safeInstanceDoneCount}");
 Pronajímatel| Zveřejněno 27.04.2021 11:17:53 |
S kódem jsou některé problémy a blokování úloh by mělo používat await Task.Delay(i);  , nepoužívejte spánek
Zveřejněno 27.09.2020 14:13:33 |
Mark, mark, mark
Zveřejněno 05.10.2020 11:12:20 |
Mark Mark
Zveřejněno 02.11.2020 15:39:13 |
dfdsfdsfds
Zveřejněno 05.11.2020 10:08:13 |
Je potřeba zdrojový kód hahahahahahahaha
Zveřejněno 02.12.2020 15:11:30 |
Díky za sdílení.
Zveřejněno 07.12.2020 21:10:03 |
[Skutečný boj] ASP.NET Core je založen na Redis distribuované výprodeji zámků
Zveřejněno 09.12.2020 17:17:34 |
Podívej se na skutečný efekt a zdrojový kód.
Zveřejněno 20.01.2021 15:17:50 |
Děkuji, děkuji, děkuji, děkuji
Zveřejněno 26.01.2021 16:10:46 |
MARK MARK MARK MARK
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com