Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 34174|Jawab: 5

[Inti .NET] .NET Core mengimplementasikan penguraian prinsip kunci terdistribusi berdasarkan Redis

[Salin tautan]
Diposting pada 22/09/2020 09.17.22 | | | |
Dalam skenario bisnis, operasi konten secara simultan, seperti inventaris komoditas, file yang sama, dll., tidak diizinkan, dan aplikasi program disebarkan di beberapa server.
[Pertempuran aktual] ASP.NET Core didasarkan pada penjualan flash kunci terdistribusi Redis
https://www.itsvse.com/thread-9397-1-1.html

Kunci terdistribusi berbasis zk yang ditulis sebelumnya adalah sebagai berikut:

.net/c# Implementasi Kunci Terdistribusi Zookeeper [Kode Sumber]
https://www.itsvse.com/thread-4651-1-1.html

Apa yang juga perlu Anda ketahui untuk membaca artikel ini:

Volatile vs. Interlocked vs. kunci
https://www.itsvse.com/thread-5023-1-1.html

C# Komputasi Paralel Paralel.For&Parallel.For
https://www.itsvse.com/thread-3671-1-1.html

.NET Core mengimplementasikan kunci terdistribusi berdasarkan RedisPrinsipnya adalah memanggil perintah SETNX redis, jika kuncinya sudah ada, perintah SETNX tidak melakukan apa-apa. Perintah mengembalikan 1 saat pengaturan berhasil dan 0 saat pengaturan gagal.

Login hyperlink terlihat.

Buat proyek konsol .NET Core 3.1 baru, tambahkan referensi StackExchange.Redis, dan gunakan perintah nuget sebagai berikut:

Kita memanggil metode StringSet pustaka, melalui kode sumber StackExchange.Redis, kita dapat melihat bahwa metode StringSet akan memanggil metode privat GetStringSetMessage untuk menjalankan perintah set yang berbeda melalui nilai pencacahan kapan, kodenya adalah sebagai berikut:

Kami menjalankan perintah SETNX 2000 kali melalui panggilan uji paralel ke program, yang dijalankan dalam 2 angsuran, di mana validitas cache kunci adalah 5 detik, yaitu kunci akan dilepaskan secara otomatis setelah 5 detik, yaitu kunci akan dilepaskan.

Kodenya adalah sebagai berikut:


Seperti yang Anda lihat, total 2 penyisipan yang berhasil dan upaya gagal tahun 1998 persis seperti yang kami harapkan, dan renderingnya adalah sebagai berikut:


Saat ini, kuncinya belum dilepaskan.
(Akhir)









Mantan:Gagal menemukan solusi untuk bagian jalur "\bin\roslyn\csc.exe"
Depan:EF Core Series 2 merangkum OnModelCreating, membuat indeks menggunakan refleksi, dan lainnya
 Tuan tanah| Diposting pada 26/09/2020 15.37.52 |
uji123
Diposting pada 20/11/2020 11.18.31 |
Jika ada lingkungan multi-utas dan lingkungan multi-instans saat menyebarkan kontainer, apakah ada masalah dengan penanganan ini?
 Tuan tanah| Diposting pada 20/11/2020 11.29.44 |
qiuyueming Dipaparkan pada 2020-11-20 11:18
Jika ada lingkungan multi-utas dan lingkungan multi-instans saat menyebarkan kontainer, apakah ada masalah dengan penanganan ini? ...

Multi-instance berarti multi-threading, dan dalam kode sumber, multi-threaded memanggil redis, dan hanya satu thread yang mendapatkan kunci
Diposting pada 22/03/2022 14.32.40 |
Dukungan, dukungan
Diposting pada 23/03/2022 11.15.30 |
Pelajari ini bagus @
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com