|
|
Yayınlandı 22.09.2020 09:17:22
|
|
|
|

İş senaryolarında, eşzamanlı içerik işlemlerine izin verilmez; örneğin emtia envanteri, aynı dosya vb., ve program uygulaması birden fazla sunucuda konuşlandırılır.
Daha önce yazılmış zk tabanlı dağıtık kilit şöyledir:
Bu makaleyi okumak için bilmeniz gerekenler:
.NET Core, Redis tabanlı dağıtık kilitler uygularPrensip, SETNX komutunu redis komutu çağırmaktır, eğer anahtar zaten varsa, 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.
Bağlantı girişi görünür.
Yeni bir .NET Core 3.1 konsol projesi oluşturun, bir StackExchange.Redis referansı ekleyin ve nuget komutunu aşağıdaki gibi kullanın:
Kütüphanenin StringSet metodunu StackExchange.Redis kaynak kodu üzerinden çağırıyoruz; StringSet metodunun GetStringSetMessage'ın özel metodunu çağırarak farklı set komutlarını ne zaman değeriyle çalıştıracağını görebiliyoruz, kod şu şekildedir:
SETNX komutunu paralel bir test çağrısı aracılığıyla programa 2000 kez çalıştırıyoruz; bu işlem 2 bölüm halinde yürütülüyor; anahtarın önbellek geçerliliği 5 saniyedir, yani anahtar 5 saniye sonra otomatik olarak serbest bırakılır, yani kilit açılır.
Kod şöyledir:
Gördüğünüz gibi, toplamda 2 başarılı ekleme ve 1998 başarısız deneme tam olarak beklediğimiz gibi, renderasyonlar ise aşağıdaki gibidir:
Şu anda kilit henüz açılmamıştır. (Son)
|
Önceki:"\bin\roslyn\csc.exe" yolun bir kısmı için bir çözüm bulamadım.Önümüzdeki:EF Core Serisi 2, OnModelCreating'i kapsüller, yansımalar kullanarak indeksler oluşturur ve daha fazlasını içerir
|