Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 163142|Yanıt: 27

[.NET Core] [Gerçek dövüş] ASP.NET Core, Redis dağıtılmış kilit flash satışına dayanıyor

[Bağlantıyı kopyala]
Yayınlandı 26.09.2020 15:34:26 | | | |
Daha önce yazılmış zk tabanlı dağıtık kilit şöyledir:

.net/c# Zookeeper Dağıtık Kilit Uygulaması [Kaynak Kodu]
https://www.itsvse.com/thread-4651-1-1.html
Redis, dağıtık kilitleme ilkesini uygular:

.NET Core, Redis tabanlı dağıtık kilit prensip ayrıştırmasını uygular
https://www.itsvse.com/thread-9391-1-1.html
Redis'te dağıtık kilitlerin uygulanmasının prensibi, redis'in SETNX komutunu çağırmaktır ve anahtar zaten mevcutsa, SETNX komutu hiçbir şey yapmaz. Komut, ayar başarılı olduğunda 1, ayar başarısız olduğunda ise 0 döner.


İlk olarak, web sitemiz 10.000 ürünü simüle eder, ardından satın alma işlemi tamamlanması 40 saniye süren HTTP isteği simüle eden bir konsol yazar, render şu şekildedir:



Core 3.1 ASP.NET yeni bir web sitesi oluşturun ve redis kilidi paketi şu şekildedir:

İnternette birçok serbest bırakma kilidinin şu şekilde yazıldığını gördüm:

Ancak, eşzamanlılık durumunda bir sorun olabileceği hissi var, karar anında true döndürülebilir, bu gerçekten kendi başına eklenen bir kilit, ancak kilit silindiğinde içinde olabilirAşırı durumlarda, kilit başka bir thread tarafından alındı, başkasının kilidi silinirse diye.

Bu nedenle, kilit elde ederken, kilidin son kullanma süresini uzatmak için bir iplik açmanız gerekir.

WeatherForecastController arayüzü aşağıdaki gibidir:


API web sitesini komut satırı üzerinden başlatabilirsiniz, bu satır, bu kolayca yeniden başlatılabilir, aşağıdaki gibi:



Snap satın almak için yeni bir .NET Core maket HTTP talebi oluşturun, kod şu şekildedir:


Eğer bir sorun varsa, düzelttiğiniz için teşekkürler.

Son olarak, kaynak kodunu ekleyin:

Turistler, bu gönderinin gizli içeriğini görmek isterseniz lütfenYanıt





Önceki:JS, ekran boyutundaki karancına grafiğine uyum sağlar
Önümüzdeki:Javascript'in bu ayrıntılı açıklaması
 Ev sahibi| Yayınlandı 9.05.2021 21:12:58 |
Web sitesi simülasyonları10000 ürün, ve ardından HTTP isteği süresini simüle etmek için bir konsol yazdı Bilet 6 saniyede tamamlanır


.NET Core, Redis Lua temelli dağıtık kilitler uygular [kaynak kodu ile].
https://www.itsvse.com/thread-9642-1-1.html


Yayınlandı 5.11.2023 11:02:52 |
Console.WriteLine($"Rush Success: {safeInstanceSuccessedCount}, Failed: {safeInstanceFailedCount}, sold out: {safeInstanceDoneCount}");
 Ev sahibi| Yayınlandı 27.04.2021 11:17:53 |
Kodda bazı sorunlar var ve Görev engelleme için await Task.Delay(i) kullanmalı;  , uyku kullanma
Yayınlandı 27.09.2020 14:13:33 |
Mark, mark, mark
Yayınlandı 5.10.2020 11:12:20 |
Mark Mark
Yayınlandı 2.11.2020 15:39:13 |
DFDSFDSFDS
Yayınlandı 5.11.2020 10:08:13 |
Kaynak kodu gerekli hahahahahahahaha
Yayınlandı 2.12.2020 15:11:30 |
Paylaştığın için teşekkürler.
Yayınlandı 7.12.2020 21:10:03 |
[Gerçek dövüş] ASP.NET Core, Redis dağıtılmış kilit flash satışına dayanıyor
Yayınlandı 9.12.2020 17:17:34 |
Gerçek etki ve kaynak koduna göz atın.
Yayınlandı 20.01.2021 15:17:50 |
Teşekkürler, teşekkürler, teşekkürler, teşekkürler
Yayınlandı 26.01.2021 16:10:46 |
MARK MARK MARK MARK
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com