Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 1417|Відповідь: 0

[Джерело] .NET/C# оптимізовано за допомогою продуктивності StackExchange.Redis

[Копіювати посилання]
Опубліковано 2024-12-23 21:37:10 | | | |
Вимоги: Зазвичай розробники .NET використовують бібліотеку StackExchange.Redis для читання та запису операцій Redis, і сьогодні я перевірив мережевий зв'язок і виявив, що бібліотека StackExchange.Redis використовує одиночний режим і фактично встановлює 4 TCP-довгі лінії з сервером Redis.

Пошукайте в інтернеті та знайдіть користувачів мережі, щоб відповісти»За замовчуванням кожен екземпляр ConnectionMultiplexer у StackExchange.Redis створює щонайменше 2 з'єднання на кеш. Один для команд взаємодії, інший — для публікації/підписки повідомлень.

Якщо ви не користуєтеся функцією підписки pub/sub pub, її можна вимкнути для оптимізації використання з'єднання.

Використовуючи команду CLIENT LIST на сервері Redis, ви можете побачити всі клієнтські з'єднання,Перед оптимізацією наведено нижче зображення



Комбінація прапорців клієнта означає наступне:

A: з'єднання має бути закрите якнайшвидше
B: Клієнт чекає під час блокувальної операції
c: з'єднання буде закрито після написання повної відповіді
d: відстежений ключ було змінено — EXEC зазнає невдачі
e: Клієнт виключається з механізму виселення клієнта
i: клієнт чекає на VM I/O (застарілий)
М: клієнт — майстер
N: немає конкретного набору прапорів
O: клієнт — це клієнт у режимі MONITOR
P: клієнт є підписником Pub/Sub
R: Клієнт перебуває у режимі лише для читання проти вузла кластеру
S: клієнт — це репліка з'єднання вузла з цим екземпляром
U: Клієнт розблоковано
U: клієнт підключений через Unix доменний сокет
x: клієнт знаходиться в контексті MULTI/EXEC
T: Клієнт увімкнув відстеження ключів для виконання кешування на стороні клієнта
T: клієнт не торкається LRU/LFU ключів, до яких він отримує доступ
R: клієнт для відстеження клієнта недійсний
B: клієнт увімкнув режим відстеження трансляції
Як вимкнути підключення до підписки pub/sub pub?

Варіант 1

Змініть .NET код наступним чином:

Варіант 2 (рекомендовано)

Модифікуємо рядок з'єднання безпосередньо наступним чином:

Після завершення модифікації запустіть програму знову, і ви побачите, що підписка на публікацію закрита, як показано на наступному рисунку:



До: було встановлено 4 TCP-з'єднання, а після: 2 TCP-з'єднання.

Посилання:

Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.





Попередній:Обфускування кутового коду — просте шифрування
Наступний:.NET/C# тестовий код для кількох основних методів
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com