Início Rápido: Utilizar a Cache do Azure para Redis com uma aplicação Web ASP.NET Core
Neste início rápido, você incorpora o Cache do Azure para Redis em um aplicativo Web ASP.NET Core que se conecta ao Cache Redis do Azure para armazenar e recuperar dados do cache.
Há também provedores de cache no núcleo .NET. Para começar rapidamente a usar o Redis com alterações mínimas no código existente, consulte:
- ASP.NET provedor principal de Cache de Saída
- ASP.NET provedor principal de Distributed Caching
- ASP.NET provedor de sessão Redis principal
Saltar para o código no GitHub
Clone o https://github.com/Azure-Samples/azure-cache-redis-samples repositório GitHub e navegue até o quickstart/aspnet-core
diretório para visualizar o código-fonte concluído para as etapas à frente.
O quickstart/aspnet-core
diretório também é configurado como um modelo de CLI (azd
) do Desenvolvedor do Azure. Use a ferramenta de código azd
aberto para simplificar o provisionamento e a implantação de um ambiente local para o Azure. Opcionalmente, execute o azd up
comando para provisionar automaticamente uma instância do Cache Redis do Azure e configurar o aplicativo de exemplo local para se conectar a ele:
azd up
Explore o exemplo da eShop
Como próxima etapa, você pode ver um aplicativo eShop de cenário real demonstrando os ASP.NET principais provedores de cache: ASP.NET eShop principal usando provedores de cache Redis.
Características incluídas:
- Cache distribuído Redis
- Provedor de estado de sessão Redis
As instruções de implantação estão no README.md.
Pré-requisitos
- Subscrição do Azure - crie uma gratuitamente
- SDK .NET Core
Criar uma cache
Para criar um cache, entre no portal do Azure e selecione Criar um recurso.
Na página Introdução, digite Cache Redis do Azure na caixa de pesquisa. Em seguida, selecione Criar.
Na página Novo Cache Redis, defina as configurações do cache.
Definição Escolher um valor Description Subscrição Drop-down e selecione sua assinatura. A assinatura sob a qual criar essa nova instância do Cache do Azure para Redis. Grupo de recursos Drop-down e selecione um grupo de recursos, ou selecione Criar novo e insira um novo nome de grupo de recursos. Nome do grupo de recursos no qual criar o cache e outros recursos. Ao colocar todos os recursos do seu aplicativo em um grupo de recursos, você pode facilmente gerenciá-los ou excluí-los juntos. Nome DNS Introduza um nome exclusivo. O nome do cache deve ser uma cadeia de caracteres entre 1 e 63 caracteres que contenha apenas números, letras ou hífenes. O nome deve começar e terminar com um número ou letra e não pode conter hífenes consecutivos. O nome de host da instância de cache é <DNS name.redis.cache.windows.net>. Location Drop-down e selecione um local. Selecione uma região perto de outros serviços que usam seu cache. Cache SKU Drop-down e selecione um SKU. A SKU determina os parâmetros de tamanho, desempenho e recursos disponíveis para o cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis. Tamanho do cache Drop-down e selecione um tamanho do seu cache Para obter mais informações, consulte Visão geral do Cache do Azure para Redis. Selecione a guia Rede ou selecione o botão Rede na parte inferior da página.
Na guia Rede, selecione seu método de conectividade.
Selecione a guia Avançar: Avançado ou selecione o botão Avançar: Avançado na parte inferior da página para ver a guia Avançado .
Marque a caixa para habilitar a Autenticação do Microsoft Entra.
Importante
Para uma segurança ideal, a Microsoft recomenda o uso do Microsoft Entra ID com identidades gerenciadas para autorizar solicitações em seu cache sempre que possível. A autorização com ID do Microsoft Entra e identidades gerenciadas oferece segurança superior e facilidade de uso em relação à autorização de chave compartilhada. Para obter mais informações sobre como usar identidades gerenciadas com seus caches, consulte Usar a ID do Microsoft Entra para autenticação de cache.
Selecione a guia Next: Tags ou selecione o botão Next: Tags na parte inferior da página.
Opcionalmente, na guia Marcas , insira o nome e o valor se desejar categorizar o recurso.
Selecione Rever + criar. Você é levado para a guia Revisão + criação, onde o Azure valida sua configuração.
Depois que a mensagem verde Validação passada for exibida, selecione Criar.
Demora um pouco para um cache ser criado. Você pode monitorar o progresso na página Visão geral do Cache do Azure para Redis. Quando Status é exibido como Em execução, o cache está pronto para uso.
Recuperar o nome do host do portal do Azure
O cliente de cache precisa do nome do host e da porta para que o cache se conecte ao seu servidor Cache do Azure para Redis. Alguns clientes podem mencionar esses itens com nomes ligeiramente diferentes. Você pode obter o nome do host e as portas no portal do Azure.
Selecione Visão geral no menu Recurso. O nome do host é do formato
<DNS-name>.redis.cache.windows.net
.
Adicionar a política de acesso Redis
Você precisa atribuir uma política de acesso a dados à identidade que acessa o Cache do Azure para Redis. Neste exemplo, você atribui uma política de acesso a dados à mesma conta de ID do Microsoft Entra usada para fazer logon na CLI do Azure ou no Visual Studio.
Selecione o menu Configurações de recurso no cache e selecione a Configuração de acesso a dados.
Na página Configuração de Acesso a Dados, selecione Adicionar > Novo Usuário Redis na navegação superior.
Na página Novo Usuário Redis, selecione a política de Colaborador de Dados e selecione Avançar: Usuários Redis.
Escolha + Selecionar Membro para abrir o menu suspenso. Pesquise a sua conta de utilizador e selecione-a a partir dos resultados.
Selecione Rever + atribuir para atribuir a política ao utilizador selecionado.
Adicionar um segredo local para o nome do host
Na janela de comando, execute o seguinte comando para armazenar um novo segredo chamado RedisHostName, depois de substituir os espaços reservados, incluindo colchetes angulares, para o nome do cache e a chave de acesso primária:
dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"
Conectar-se ao cache com RedisConnection
A RedisConnection
classe gerencia a conexão com seu cache. A conexão é feita nesta instrução na HomeController.cs
pasta Controllers :
_redisConnection = await _redisConnectionFactory;
A RedisConnection.cs
classe inclui os StackExchange.Redis
namespaces e Azure.Identity
na parte superior do arquivo para incluir tipos essenciais para se conectar ao Cache do Azure para Redis.
using StackExchange.Redis;
using Azure.Identity;
O RedisConnection
código garante que haja sempre uma conexão íntegra com o cache gerenciando a ConnectionMultiplexer
instância a partir do StackExchange.Redis
. A RedisConnection
classe recria a conexão quando uma conexão é perdida e não é possível reconectar automaticamente.
Para obter mais informações, consulte StackExchange.Redis e o código em um repositório GitHub.
Modos de exibição de layout no exemplo
O layout da home page para este exemplo é armazenado no arquivo _Layout.cshtml . Nesta página, você inicia o teste de cache real clicando no Teste de Cache Redis do Azure nesta página.
Abra Views\Shared\_Layout.cshtml.
Você deve ver em
<div class="navbar-header">
:<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
Mostrando dados do cache
Na home page, selecione Cache do Azure para Teste Redis para ver a saída de exemplo.
No Explorador de Soluções, expanda a pasta Vistas e, em seguida, clique com o botão direito do rato na pasta Raiz.
Você deve ver esse código no arquivo RedisCache.cshtml .
@{ ViewBag.Title = "Azure Cache for Redis Test"; } <h2>@ViewBag.Title.</h2> <h3>@ViewBag.Message</h3> <br /><br /> <table border="1" cellpadding="10"> <tr> <th>Command</th> <th>Result</th> </tr> <tr> <td>@ViewBag.command1</td> <td><pre>@ViewBag.command1Result</pre></td> </tr> <tr> <td>@ViewBag.command2</td> <td><pre>@ViewBag.command2Result</pre></td> </tr> <tr> <td>@ViewBag.command3</td> <td><pre>@ViewBag.command3Result</pre></td> </tr> <tr> <td>@ViewBag.command4</td> <td><pre>@ViewBag.command4Result</pre></td> </tr> <tr> <td>@ViewBag.command5</td> <td><pre>@ViewBag.command5Result</pre></td> </tr> </table>
Executar a aplicação localmente
Execute o seguinte comando na janela de comandos para criar a aplicação:
dotnet build
Em seguida, execute a aplicação com o comando seguinte:
dotnet run
Navegue até no
https://localhost:5001
seu navegador da Web.Selecione Cache do Azure para Teste Redis na barra de navegação da página da Web para testar o acesso ao cache.
Clean up resources (Limpar recursos)
Se quiser continuar a usar os recursos criados neste artigo, mantenha o grupo de recursos.
Caso contrário, se tiver terminado os recursos, pode eliminar o grupo de recursos do Azure que criou para evitar cobranças.
Importante
A eliminação de um grupo de recursos é irreversível. Quando elimina um grupo de recursos, todos os recursos nele contidos são eliminados permanentemente. Confirme que não elimina acidentalmente o grupo de recursos ou recursos errados. Se você criou os recursos dentro de um grupo de recursos existente que contém recursos que deseja manter, poderá excluir cada recurso individualmente em vez de excluir o grupo de recursos.
Para eliminar um grupo de recursos
Inicie sessão no Portal do Azure e selecione Grupos de recursos.
Selecione o grupo de recursos que pretende eliminar.
Se houver muitos grupos de recursos, use a caixa Filtrar para qualquer campo... , digite o nome do grupo de recursos criado para este artigo. Selecione o grupo de recursos na lista de resultados.
Selecione Eliminar grupo de recursos.
É-lhe pedido que confirme a eliminação do grupo de recursos. Escreva o nome do grupo de recursos para confirmar e, em seguida, selecione Eliminar.
Após alguns instantes, o grupo de recursos e todos os respetivos recursos são eliminados.