Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 1417|Отговор: 0

[Източник] .NET/C# е оптимизиран с производителността на StackExchange.Redis

[Копирай линк]
Публикувано на 2024-12-23 21:37:10 | | | |
Изисквания: Обикновено .NET разработчиците използват библиотеката StackExchange.Redis за четене и запис на операции в Redis, а днес проверих мрежовия линк и установих, че библиотеката StackExchange.Redis използва singleton режим и всъщност установява 4 TCP дълги връзки със сървъра на Redis.

Потърсете онлайн и намерете интернет потребители, които да отговорите"По подразбиране всяка инстанция на ConnectionMultiplexer в StackExchange.Redis създава поне 2 връзки на кеш. Една за команди за взаимодействие и една за публикуване/абонамент на съобщения.

Ако не използвате функцията за абонамент за публикуване на субтитри, всъщност можете да я изключите, за да оптимизирате използването на връзката.

Използвайки командата CLIENT LIST в Redis сървъра, можете да видите всички клиентски връзки,Преди оптимизация е показана фигурата по-долу



Комбинацията от клиентски флагове означава следното:

Отговор: връзката трябва да бъде прекратена възможно най-скоро
Б: Клиентът чака по време на блокираща операция
c: Връзката да бъде затворена след написване на целия отговор
d: наблюдаван ключ е модифициран - EXEC ще се провали
e: Клиентът е изключен от механизма за изгонване на клиента
i: клиентът чака VM I/O (остарял)
М: Клиентът е майстор
Н: няма конкретен флаг
O: клиентът е клиент в режим MONITOR
P: клиентът е абонат на Pub/Sub
r: Клиентът е в режим само за четене срещу клъстерен възел
S: клиентът е реплика на възел към този инстанс
U: Клиентът е деблокиран
U: клиентът е свързан чрез Unix домейн сокет
x: клиентът е в MULTI/EXEC контекст
T: Клиентът е активирал проследяване на ключове, за да се извършва кеширане от клиентската страна
T: клиентът няма да докосне LRU/LFU на ключовете, до които достъпва
R: целевият клиент за проследяване на клиента е невалиден
B: клиентът активира режим на проследяване на излъчване
Как да изключа абонаментните връзки за pub/subpub?

Опция 1

Променете .NET кода по следния начин:

Опция 2 (препоръчително)

Модифицирайте свързващия низ директно по следния начин:

След като модификацията приключи, стартирайте програмата отново и ще видите, че абонаментната връзка за публикуване е затворена, както е показано на следващата фигура:



Преди: Бяха установени 4 TCP връзки и след: 2 TCP връзки.

Препратка:

Входът към хиперлинк е видим.
Входът към хиперлинк е видим.
Входът към хиперлинк е видим.





Предишен:Криптиране с обфускация на ъглов код е лесно
Следващ:.NET/C# тестов код за множество основни методи
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com