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

Görünüm: 1417|Yanıt: 0

[Kaynak] .NET/C#, StackExchange.Redis performansıyla optimize edilmiştir

[Bağlantıyı kopyala]
2024-12-23 21:37:10 tarihinde yayınlandı | | | |
Gereksinimler: Genellikle, .NET geliştiricileri Redis işlemlerini okumak ve yazmak için StackExchange.Redis kütüphanesini kullanır ve bugün ağ bağlantısını kontrol ettim, StackExchange.Redis kütüphanesinin singleton modunu kullandığını ve aslında Redis sunucusuyla 4 TCP uzun bağlantı kurduğunu gördüm.

İnternette arama yapın ve cevap verecek internet kullanıcıları bulun"Varsayılan olarak, StackExchange.Redis'teki her ConnectionMultiplexer örneği önbellek başına en az 2 bağlantı oluşturur. Biri etkileşim komutları için, diğeri mesaj yayınlama/abonelik için için.

Eğer yayın/alt yayıncılık aboneliği fonksiyonunu kullanmıyorsanız, bağlantı kullanımını optimize etmek için kapatabilirsiniz.

Redis sunucusunda CLIENT LIST komutunu kullanarak tüm istemci bağlantılarını görebilirsiniz,Optimizasyondan önce, aşağıdaki şekil gösterilmiştir



İstemci işaretleme kombinasyonu şu anlamda ifade eder:

C: bağlantı en kısa sürede kapatılacak
b: istemci engelleme işleminde bekliyor
C: Bağlantı tamamen yanıt yazıldıktan sonra kapatılacak
d: izlenen tuşlar değiştirildi - EXEC başarısız olacak
e: Müşteri, müvekkil tahliye mekanizmasından hariç tutulur
i: istemci bir VM I/O bekliyor (modifikasyon süresi doldurmuş)
M: müşteri bir ustadır
N: özel bir bayrak seti yok
O: istemci MONITOR modundaki bir istemcidir
P: müşteri bir Pub/Sub abonesidir
R: İstemci bir küme düğümüne karşı yalnızca okunabilir moddadır
S: istemci bu instance'a bir replika düğüm bağlantısıdır
U: İstemci engelden kaldırıldı
U: istemci bir Unix alan soketi üzerinden bağlanmıştır
x: istemci MULTI/EXEC bağlamındadır
T: İstemci, istemci tarafı önbellekleme yapmak için anahtar takibi etkinleştirdi
T: İstemci eriştiği tuşların LRU/LFU'suna dokunmaz
R: müşteri takip hedef istemcisi geçersiz
B: istemci etkinleştirilmiş yayın takip modu
Pub/sub yayın aboneliği bağlantılarını nasıl kapatabilirim?

Seçenek 1

.NET kodunu aşağıdaki şekilde değiştirin:

Seçenek 2 (tavsiye ediliyor)

Bağlantı dizisini doğrudan aşağıdaki gibi değiştirin:

Değişiklik tamamlandıktan sonra programı tekrar çalıştırın ve aşağıdaki şekilde gösterildiği gibi yayın aboneliği bağlantısının kapatıldığını görebilirsiniz:



Önceden: 4 TCP bağlantısı kurulmuş, sonra: 2 TCP bağlantısı kurulmuştu.

Referans:

Bağlantı girişi görünür.
Bağlantı girişi görünür.
Bağlantı girişi görünür.





Önceki:Açısal kod gizlenme şifrelemesi kolay hale getirildi
Önümüzdeki:Birden fazla Ana yöntem çözümü için .NET/C# test kodu
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