Wymagania: Zazwyczaj programiści .NET używają biblioteki StackExchange.Redis do odczytu i zapisu operacji Redis, a dziś sprawdziłem łącze sieciowe i zauważyłem, że biblioteka StackExchange.Redis używa trybu singleton i faktycznie ustanawia 4 długie łącza TCP z serwerem Redis.
Wyszukaj w internecie i znajdź internauci, którzy odpowiedzą"Domyślnie każda instancja ConnectionMultiplexer w StackExchange.Redis tworzy co najmniej 2 połączenia na pamięć podręczną. Jeden do komend interakcji, drugi do publikowania/subskrybowania wiadomości.”
Jeśli nie korzystasz z funkcji subskrypcji publikowania pubów/subredditów, możesz ją wyłączyć, aby zoptymalizować wykorzystanie połączenia.
Korzystając z polecenia CLIENT LIST na serwerze Redis, możesz zobaczyć wszystkie połączenia klientów,Przed optymalizacją przedstawiono poniższy rysunek:
Kombinacja znaków klienta oznacza następująco:
A: połączenie powinno zostać zamknięte jak najszybciej B: Klient czeka w operacji blokującej c: Połączenie ma zostać zamknięte po napisaniu całej odpowiedzi d: obejrzane zostały zmodyfikowane – EXEC zawiedzie E: Klient jest wyłączony z mechanizmu eksmisji klienta I: klient czeka na VM I/O (wycofany) M: klient jest mistrzem N: brak konkretnego zestawu flagi O: klient jest klientem w trybie MONITOR P: klient jest subskrybentem Pub/Sub R: Klient jest w trybie tylko do odczytu względem węzła klastra S: klient jest połączeniem repliki węzła z tą instancją U: Klient odblokowany U: klient jest połączony przez socket domenowy Unix x: klient znajduje się w kontekście MULTI/EXEEC T: Klient umożliwił śledzenie kluczy, aby wykonać bufor po stronie klienta T: klient nie dotknie LRU/LFU kluczy, do których ma dostęp R: klient śledzący docelowy jest nieprawidłowy B: klient włączył tryb śledzenia nadawania Jak wyłączyć subskrypcje publika/subsub publishing?
Opcja 1
Zmodyfikuj kod .NET w następujący sposób:
Opcja 2 (zalecana)
Zmodyfikuj ciąg połączeń bezpośrednio w następujący sposób:
Po zakończeniu modyfikacji uruchom program ponownie i zobaczysz, że połączenie subskrypcji publikuj zostało zamknięte, jak pokazano na poniższym rysunku:
Przed: nawiązano 4 połączenia TCP, a po: 2 połączenia TCP.
Odniesienie:
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
|