Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 1417|Resposta: 0

[Fonte] .NET/C# é otimizado com desempenho do StackExchange.Redis

[Copiar link]
Postado em 23-12-2024 21:37:10 | | | |
Requisitos: Geralmente, desenvolvedores do .NET usam a biblioteca StackExchange.Redis para ler e escrever operações do Redis, e hoje verifiquei o link de rede e descobri que a biblioteca StackExchange.Redis usa o modo singleton e na verdade estabelece 4 links longos TCP com o servidor Redis.

Pesquise online e encontre internautas para responder"Por padrão, cada instância de ConnectionMultiplexer no StackExchange.Redis cria pelo menos 2 conexões por cache. Um para comandos de interação e outro para publicar/assinar mensagens.

Se você não usar a função de assinatura de publicação de publicações/submissões, pode desativá-la para otimizar o uso da conexão.

Usando o comando CLIENT LIST no servidor Redis, você pode ver todas as conexões do cliente,Antes da otimização, a figura abaixo é mostrada



A combinação de flags de cliente significa o seguinte:

R: conexão a ser fechada o mais rápido possível
B: O cliente está aguardando em uma operação de bloqueio
c: conexão a ser fechada após escrever a resposta completa
d: uma tecla observada foi modificada - o EXEC vai falhar
e: o cliente é excluído do mecanismo de despejo do cliente
i: o cliente está aguardando uma entrada/saída de VM (desutilizado)
M: o cliente é um mestre
N: sem conjunto específico de flags
O: o cliente é um cliente no modo MONITOR
P: o cliente é assinante do Pub/Sub
R: O cliente está em modo somente leitura contra um nó de cluster
S: o cliente é uma réplica de conexão de nó para essa instância
U: O cliente está desbloqueado
U: o cliente está conectado via um socket de domínio Unix
x: o cliente está em um contexto MULTI/EXEC
T: O cliente habilitou o rastreamento de chaves para realizar cache do lado do cliente
T: o cliente não toca no LRU/LFU das chaves que acessa
R: o cliente cliente alvo de rastreamento é inválido
B: o cliente habilitou o modo de rastreamento de broadcast
Como faço para desativar as conexões de assinatura publicadas para publicações e subtítulos?

Opção 1

Modifique o código .NET da seguinte forma:

Opção 2 (recomendada)

Modifique a cadeia de conexão diretamente da seguinte forma:

Após a conclusão da modificação, execute o programa novamente e você verá que a conexão de publicação de assinatura foi encerrada, como mostrado na figura a seguir:



Antes: 4 conexões TCP foram estabelecidas, e depois: 2 conexões TCP foram estabelecidas.

Referência:

O login do hiperlink está visível.
O login do hiperlink está visível.
O login do hiperlink está visível.





Anterior:Criptografia por ofuscação de código angular facilitada
Próximo:.NET/C# para múltiplas soluções de métodos principais
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com