Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 34174|Atsakyti: 5

[.NET branduolys] .NET Core įgyvendina paskirstyto užrakto principo analizę, pagrįstą Redis

[Kopijuoti nuorodą]
Paskelbta 2020-09-22 09:17:22 | | | |
Verslo scenarijuose vienu metu neleidžiamos turinio operacijos, pvz., prekių atsargos, tas pats failas ir kt., o programos programa diegiama keliuose serveriuose.
[ Faktinė kova ] ASP.NET Core yra pagrįstas Redis paskirstyta užrakto blykstės pardavimas
https://www.itsvse.com/thread-9397-1-1.html

Anksčiau parašytas zk pagrįstas paskirstytas užraktas yra toks:

.net/c# Zookeeper paskirstyto užrakto įgyvendinimas [šaltinio kodas]
https://www.itsvse.com/thread-4651-1-1.html

Ką taip pat reikia žinoti norint perskaityti šį straipsnį:

Nepastovus vs. užrakintas vs. užraktas
https://www.itsvse.com/thread-5023-1-1.html

C# Lygiagretus skaičiavimas Parallel.For&Parallel.For
https://www.itsvse.com/thread-3671-1-1.html

.NET Core įdiegia paskirstytus užraktus, pagrįstus RedisPrincipas yra iškviesti SETNX komandą redis, jei raktas jau yra, komanda SETNX nieko nedaro. Komanda grąžina 1, kai nustatymas sėkmingas, ir 0, kai nustatymas nepavyksta.

Hipersaito prisijungimas matomas.

Sukurkite naują .NET Core 3.1 konsolės projektą, pridėkite StackExchange.Redis nuorodą ir naudokite komandą nuget taip:

Mes iškviečiame bibliotekos StringSet metodą, naudodami StackExchange.Redis šaltinio kodą, matome, kad StringSet metodas iškvies privatų GetStringSetMessage metodą, kad vykdytų skirtingas rinkinio komandas per išvardijimo reikšmę, kai kodas yra toks:

Mes vykdome SETNX komandą 2000 kartų per lygiagretų bandomąjį iškvietimą į programą, kuri vykdoma 2 dalimis, kuriose rakto talpyklos galiojimo laikas yra 5 sekundės, tai yra, raktas bus automatiškai atleistas po 5 sekundžių, tai yra, užraktas bus atleistas.

Kodas yra toks:


Kaip matote, iš viso 2 sėkmingi įterpimai ir 1998 m. nesėkmingi bandymai yra būtent tai, ko tikėjomės, o atvaizdai yra tokie:


Šiuo metu užraktas dar nebuvo atleistas.
(Pabaiga)









Ankstesnis:Nepavyko rasti dalies kelio "\bin\roslyn\csc.exe" sprendimo sprendimo
Kitą:"EF Core Series 2" apima "OnModelCreation", kuria indeksus naudodama atspindžius ir kt.
 Savininkas| Paskelbta 2020-09-26 15:37:52 |
testas123
Paskelbta 2020-11-20 11:18:31 |
Jei diegiant konteinerius yra kelių gijų aplinka ir kelių egzempliorių aplinka, ar yra problemų dėl šio tvarkymo?
 Savininkas| Paskelbta 2020-11-20 11:29:44 |
qiuyueming Publikuota: 2020-11-20 11:18
Jei diegiant konteinerius yra kelių gijų aplinka ir kelių egzempliorių aplinka, ar yra problemų dėl šio tvarkymo? ...

Multi-instance reiškia multi-threading, ir šaltinio kodas, multi-threaded kviečia redis, ir tik viena gija gauna užraktą
Paskelbta 2022-03-22 14:32:40 |
Palaikymas, palaikymas
Paskelbta 2022-03-23 11:15:30 |
Sužinokite, kad tai gerai @
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com