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

Vista: 5163|Resposta: 5

[.NET Core] ASP.NET Núcleo (18) Personalize um cache de saída simples do OutputCache

[Copiar link]
Postado em 2023-5-7 21:42:06 | | | |
Requisitos: Ter um no .NET FrameworkOutputCacheAttributeO recurso (que é usado para marcar o método operacional de cache de sua saída) armazena dados frequentemente acessados e que mudam raramente na memória e gera conteúdo de resposta diretamente, o que pode melhorar o desempenho da concorrência do site e reduzir a pressão sobre o servidor e o banco de datos. Esse recurso foi adicionado apenas no .NET 7.





ASP.NET Middleware de cache de saída no Core:O login do hiperlink está visível.

O princípio do cache de saída: cada requisição primeiro determina se ela existe no cache, se não existir, escreve o conteúdo da resposta no cache e então gera a resposta; se o cache existir, a resposta de saída de dados é obtida diretamente do cache. via cache de saídaReduzir consultas ao banco de dados, reduzir algumas operações lógicas e buscar diretamente do cache melhora tanto a concorrência quanto a resposta

Como não há recurso OutputCacheAttribute no .NET 6, podemos implementar um cache de saída simples nós mesmos.


Na ausência de um cache de saída, os resultados do teste de estresse são os seguintes (O banco de dados do projeto está conectado ao servidor de Hong Kong):



Resultados do teste de estresse: Apenas 10 concorrências por segundo permitidas (transferência lenta no banco de dados).

Para tentar adicionar um cache de saída, primeiro, crie um novo recurso OutputCacheAttribute, cujo código é o seguinte:

Crie um novo middleware OutputCacheMiddleware para bloquear a solicitação, e o código é o seguinte:

Adicione o middleware UseOutputCacheExtensions para Program.cs com o seguinte código:

Por fim, adicione o recurso ao método controlador com o seguinte código:

Novamente, com testes de pressão, isso pode ser alcançadoMais de 10.000 concorrências por segundo, como mostrado na figura abaixo:

cassowary.exe corrida -u http://localhost:5222/zh-cn -c 50 -n 100000



A ferramenta Cassowary para testes de estresse de requisições HTTP
https://www.itsvse.com/thread-10557-1-1.html
(Fim)




Anterior:[Virar]. NET 8 Novos Tipos de Alto Desempenho Adicionados
Próximo:É usado o .NET Core Canal de fila de alto desempenho
 Senhorio| Postado em 07-05-2023 às 21:50:45 |

revisar

ASP.NET Core (17) integra análise de desempenho de aplicações MiniProfile
https://www.itsvse.com/thread-10571-1-1.html

ASP.NET Núcleo (16) Dependente da injeção de serviços de registro dinâmico
https://www.itsvse.com/thread-10560-1-1.html

ASP.NET Core (XV) usa HttpClient para enviar requisições HTTP
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET Core (quatorze) é baseado no captcha de imagem SkiaSharp
https://www.itsvse.com/thread-10287-1-1.html

ASP.NET Core (XIII) para determinar se é uma requisição Ajax ou não
https://www.itsvse.com/thread-10284-1-1.html

ASP.NET Core (doze) front-end JS, agrupamento e compressão de CSS
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET rota de endpoint Core (XI) adiciona middleware para exibir todos os serviços DI
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Explicação detalhada das prioridades de configuração no Core(10).
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Explicação detalhada do middleware Middleware do Core (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Explicação detalhada do Middleware Core
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET dos parâmetros padrão da interface Swagger no Core(8).
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Core (7) Análise aprofundada do código-fonte do framework
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI obtém manualmente o método de injeção de objetos
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (cinco) é baseado em transações distribuídas CAP
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Validação unificada do modelo ModelState do filtro Core(4)
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Criar instâncias dinamicamente usando ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Núcleo (2) Reiniciar a aplicação por código
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) usa cache Redis
https://www.itsvse.com/thread-9393-1-1.html
 Senhorio| Postado em 2023-05-7 21:53:14 |
Sobre a configuração de desativação do cache do OutputCache asp.net
https://www.itsvse.com/thread-5843-1-1.html

ASP.NET Configuração do parâmetro web.config do cache OutputCache
https://www.itsvse.com/thread-4917-1-1.html

mvc cache: o uso correto da propriedade OutputCache VaryByParam
https://www.itsvse.com/thread-3488-1-1.html
Postado em 09:37:41 em 2023-05-8 |
Aprenda a aprender
Postado em 17-05-2023 às 10:37:28 |
Código de status HTTP: 204 Sem Conteúdo

204 Sem Conteúdo: O servidor processou a solicitação com sucesso, mas não retornou nada.

Escrever no corpo da resposta é inválido para respostas com código de status 204.
 Senhorio| Postado em 2023-6-22 13:20:52 |
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