Início Rápido: Utilizar a Cache do Azure para Redis com uma aplicação Web ASP.NET
Neste início rápido, você usa o Visual Studio 2019 para criar um aplicativo Web ASP.NET que se conecta ao Cache Redis do Azure para armazenar e recuperar dados do cache. Em seguida, você implanta o aplicativo no Serviço de Aplicativo do Azure.
Saltar para o código no GitHub
Clone o repositório https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet no GitHub.
Pré-requisitos
- Subscrição do Azure - crie uma gratuitamente
- Visual Studio 2019 com as cargas de trabalho de desenvolvimento ASP.NET e Web e desenvolvimento do Azure.
Criar uma cache
Em seguida, crie a cache para a aplicação.
Para criar um cache, entre no portal do Azure. No menu do portal, selecione Criar um recurso.
No painel Introdução, insira Cache Redis do Azure na barra de pesquisa. Nos resultados da pesquisa, localize o Cache do Azure para Redis e selecione Criar.
No painel Novo Cache Redis, na guia Noções básicas, defina as seguintes configurações para o cache:
Definição Ação Descrição Subscrição Selecione a subscrição do Azure. A assinatura a ser usada para criar a nova instância do Cache do Azure para Redis. Grupo de recursos Selecione um grupo de recursos ou selecione Criar novo e insira um novo nome de grupo de recursos. Um nome para o grupo de recursos no qual criar seu 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 de 1 a 63 caracteres que contenha apenas números, letras e hífenes. O nome deve começar e terminar com um número ou letra, e não pode conter hífenes consecutivas. O nome de host da instância de cache é \<DNS name>.redis.cache.windows.net
.Location Selecione uma localização. Uma região do Azure que está perto de outros serviços que usam seu cache. Cache SKU Selecione uma SKU. A SKU determina o tamanho, o desempenho e os parâmetros de recurso disponíveis para o cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis. Tamanho do cache Selecione um tamanho de cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis. Selecione a guia Rede ou selecione Avançar: Rede.
Na guia Rede, selecione um método de conectividade a ser usado para o cache.
Selecione a guia Avançado ou selecione Avançar: Avançado.
No painel Avançado, verifique ou selecione um método de autenticação com base nas seguintes informações:
- Por padrão, para um novo cache Básico, Standard ou Premium, a Autenticação do Microsoft Entra está habilitada e a Autenticação de Chaves de Acesso está desabilitada.
- Para caches Basic ou Standard, você pode escolher a seleção para uma porta não-TLS.
- Para caches Standard e Premium, você pode optar por habilitar zonas de disponibilidade. Não é possível desativar as zonas de disponibilidade após a criação do cache.
- Para um cache Premium, defina as configurações para porta não-TLS, clustering, identidade gerenciada e persistência de dados.
Importante
Para uma segurança ideal, recomendamos que você use o Microsoft Entra ID com identidades gerenciadas para autorizar solicitações em seu cache, se possível. A autorização usando o ID do Microsoft Entra e identidades gerenciadas oferece segurança superior e facilidade de uso em relação à autorização de chave de acesso compartilhado. Para obter mais informações sobre como usar identidades gerenciadas com seu cache, consulte Usar a ID do Microsoft Entra para autenticação de cache.
(Opcional) Selecione a guia Tags ou selecione Next: Tags.
(Opcional) Na guia Marcas , insira um nome e um valor de tag se quiser categorizar seu recurso de cache.
Selecione o botão Rever + criar.
Na guia Revisão + criação, o Azure valida automaticamente sua configuração.
Depois que a mensagem verde Validação passada for exibida, selecione Criar.
Uma nova implantação de cache ocorre ao longo de vários minutos. Você pode monitorar o progresso da implantação no painel Visão Geral do Cache do Azure para Redis. Quando Status exibe Em execução, o cache está pronto para uso.
Usar a autenticação do Microsoft Entra ID no cache
Os caches Redis do Azure, exceto para as camadas Enterprise e Enterprise Flash, têm a Autenticação Microsoft Entra habilitada por padrão. As chaves de acesso estão desativadas por padrão.
Importante
A Microsoft recomenda o uso da autenticação Microsoft Entra ID para a experiência de autenticação mais segura em vez de usar senhas ou chaves de acesso. A autenticação descrita nesta seção do artigo usa chaves de acesso, que exigem um grau muito alto de confiança no aplicativo e acarreta riscos não presentes ao usar o Microsoft Entra ID. Use a abordagem neste documento somente quando a autenticação do Microsoft Entra ID não for viável.
No portal do Azure, selecione o cache onde você gostaria de usar a autenticação baseada em token do Microsoft Entra.
Selecione Autenticação no menu Recurso.
Selecione Selecionar membro e digite o nome de um usuário válido. O usuário inserido recebe automaticamente a Política de Acesso do Proprietário de Dados por padrão quando você seleciona Salvar. Você também pode inserir uma identidade gerenciada ou uma entidade de serviço para se conectar à sua instância de cache.
Para obter informações sobre como usar a ID do Microsoft Entra com a CLI do Azure, consulte as páginas de referência para identidade.
Para editar o ficheiro CacheSecrets.config
Crie um arquivo no seu computador chamado CacheSecrets.config. Coloque-o em um local onde ele não será verificado com o código-fonte do seu aplicativo de exemplo. Neste início rápido, o ficheiro CacheSecrets.config está localizado em C:\AppSecrets\CacheSecrets.config.
Edite o arquivo Web.config . Em seguida, adicione o seguinte conteúdo:
<appSettings> <add key="RedisHostName" value="<cache-hostname>:<port-number>"/> </appSettings>
Substitua
<cache-hostname>
pelo nome do host do cache conforme aparece na folha Visão geral do Portal do AzureSubstitua
<port-number>
pelo número da porta do host do cache.Guarde o ficheiro.
Atualizar a aplicação MVC
Nesta seção, você pode ver um aplicativo MVC que apresenta um modo de exibição que exibe um teste simples em relação ao Cache do Azure para Redis. O aplicativo MVC pode se conectar à sua instância do Azure Managed Redis (visualização) quando a configuração "RedisHostName" aponta para sua instância do Azure Managed Redis.
Instalar o StackExchange.Redis
Sua solução precisa do StackExchange.Redis
pacote para ser executada. Instale-o, com este procedimento:
Para configurar o aplicativo para usar o pacote NuGet StackExchange.Redis para Visual Studio, selecione Tools > NuGet Package Manager Package Manager > Console.
Execute o seguinte comando a partir da janela
Package Manager Console
:Install-Package Microsoft.Azure.StackExchangeRedis
O pacote NuGet baixa e adiciona as referências de assembly necessárias para seu aplicativo cliente acessar o Cache Redis do Azure com o
Microsoft.Azure.StackExchangeRedis
cliente.
Conectar-se ao cache com RedisConnection
A conexão com o cache é gerenciada RedisConnection
pela classe. A conexão é feita pela primeira vez nesta declaração de ContosoTeamStats/Controllers/HomeController.cs
:
private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(redisHostName: ConfigurationManager.AppSettings["RedisHostName"].ToString());
No RedisConnection.cs
, você vê que o StackExchange.Redis
namespace foi adicionado ao código. Isso é necessário para a RedisConnection
classe.
using StackExchange.Redis;
O RedisConnection
código garante que haja sempre uma conexão íntegra com o cache gerenciando a ConnectionMultiplexer
instância de StackExchange.Redis
. A RedisConnection
classe recria a conexão quando uma conexão é perdida e não é possível reconectar automaticamente.
A linha de código a seguir usa a ID do Microsoft Entra para se conectar ao Cache Redis do Azure ou ao Redis Gerenciado do Azure (visualização) sem senha.
var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
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.
No Explorador de Soluções, expanda a pasta Vistas>Partilhado. Em seguida, abra o ficheiro _Layout.cshtml.
Você verá a seguinte linha em
<div class="navbar-header">
.@Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
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
Por predefinição, o projeto está configurado para alojar a aplicação localmente em IIS Express para testes e depuração.
Para executar a aplicação localmente
No Visual Studio, selecione Depurar>Iniciar Depuração para criar e iniciar a aplicação localmente para testes e depuração.
No navegador, selecione Cache do Azure para Teste Redis na barra de navegação.
No exemplo a seguir, a
Message
chave anteriormente tinha um valor armazenado em cache, que foi definido usando o console do Cache do Azure para Redis no portal. A aplicação atualizou esse valor em cache. A aplicação também executou os comandosPING
eCLIENT LIST
.
Publicar e executar no Azure
Depois de ter testado com êxito a aplicação localmente, pode implementar a aplicação no Azure e executá-la na cloud.
Para publicar a aplicação no Azure
No Visual Studio, clique com o botão direito do rato no nó do projeto no Explorador de Soluções. Em seguida, selecione Publicar.
Selecione Serviço de Aplicações do Microsoft Azure, selecione Criar Novo e, em seguida, selecione Publicar.
Na caixa de diálogo Criar Serviço de Aplicações, faça as seguintes alterações:
Definição Valor recomendado Description Nome da aplicação Utilize a predefinição. O nome da aplicação é o nome do anfitrião da aplicação quando é implementada no Azure. O nome pode ter um sufixo de carimbo de data/hora adicionado ao mesmo para torná-lo exclusivo, caso seja necessário. Subscrição Escolha a sua subscrição do Azure. Esta subscrição é debitada relativamente a quaisquer custos de alojamento relacionados. Se tiver várias subscrições do Azure, verifique se a subscrição pretendida está selecionada. Grupo de recursos Utilize o mesmo grupo de recursos onde criou a cache (por exemplo, TestResourceGroup). O grupo de recursos ajuda-o a gerir todos os recursos como um grupo. Mais tarde, quando pretender eliminar a aplicação, basta apenas eliminar o grupo. Plano do Serviço de Aplicações Selecione Novo e, em seguida, crie um novo plano do Serviço de Aplicações com o nome TestingPlan.
Utilize a mesma Localização que serviu para criar a cache.
Escolha Gratuito para o tamanho.Um plano de Serviço de Aplicações define um conjunto de recursos de computação para a execução da aplicação Web. Depois de configurar as definições de alojamento do Serviço de Aplicações, selecione Criar.
Monitorize a janela Saída no Visual Studio para ver o estado de publicação. Depois de a aplicação ter sido publicada, o URL da aplicação é registado:
Adicionar a definição da aplicação à cache
Depois de a nova aplicação ter sido publicada, adicione uma nova definição de aplicação. Esta definição é utilizada para armazenar as informações de ligação da cache.
Para adicionar a definição de aplicação
Escreva o nome da aplicação na barra de pesquisa, na parte superior do portal do Azure, para localizar a nova aplicação que acabou de criar.
Adicione uma nova definição de aplicação denominada CacheConnection para a aplicação utilizar para se ligar à cache. Use o mesmo valor para
RedisHostName
o qual você configurou no arquivo web.config .
Executar a aplicação no Azure
No browser, aceda ao URL da aplicação. O URL é apresentado nos resultados da operação de publicação na janela de saída do Visual Studio. Também é fornecido no portal do Azure na página de descrição geral da aplicação que criou.
Selecione Cache do Azure para Teste Redis na barra de navegação para testar o acesso ao cache como fez com a versão local.
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.