Guia de início rápido: Usar o Cache do Azure para Redis com um aplicativo Web ASP.NET

Neste guia de início rápido, você usa o Visual Studio 2019 para criar um aplicativo Web ASP.NET que se conecta ao Cache do Azure para Redis para armazenar e recuperar dados de cache. Depois, você implantará o aplicativo no Serviço de Aplicativo do Azure.

Pular 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

Criar um cache

Em seguida, crie o cache para o aplicativo.

  1. Para criar um cache, entre no portal do Azure e selecione Criar um recurso.

    Criar um recurso está realçado no painel de navegação esquerdo.

  2. Na página Novo, selecione Bancos de dados e, em seguida, Cache do Azure para Redis.

    Em Novo, os Bancos de Dados e o Cache do Azure para Redis estão realçados.

  3. Na página Novo Cache Redis, defina as configurações para o novo cache.

    Configuração Escolher um valor Descrição
    Assinatura Clique na lista suspensa e selecione sua assinatura. A assinatura na qual essa nova instância do Cache do Azure para Redis será criada.
    Grupo de recursos Clique na lista suspensa e selecione um grupo de recursos ou selecione Criar e insira um novo nome de grupo de recursos. Nome do grupo de recursos no qual o cache e outros recursos serão criados. Ao colocar todos os seus recursos de aplicativos em um só grupo de recursos, você pode gerenciá-los ou excluí-los juntos com facilidade.
    Nome DNS Insira um nome exclusivo. O nome do cache deve conter de 1 a 63 caracteres e incluir somente números, letras ou hifens. O nome precisa começar e terminar com um número ou uma letra e não pode conter hifens consecutivos. O nome do host da instância de cache será <nome DNS>.redis.cache.windows.net.
    Localidade Clique na lista suspensa e selecione uma localização. Selecione uma região perto de outros serviços que usam o seu cache.
    Tipo de cache Clique na lista suspensa e selecione uma camada. A camada determina o tamanho, o desempenho e os recursos disponíveis para o cache. Para obter mais informações, confira Visão geral do Cache do Azure para Redis.
  4. Selecione a guia Rede ou o botão Rede na parte inferior da página.

  5. Na guia Rede, escolha o método de conectividade.

  6. Selecione a guia Próximo: Avançado ou o botão Próximo: Avançado na parte inferior da página para ver a guia Avançado.

    Captura de tela mostrando a guia Avançado no painel de trabalho e a opção disponível para seleção.

    • Para caches Básico ou Standard, alterne a seleção para uma porta não TLS. Você também pode selecionar se deseja habilitar a Autenticação do Microsoft Entra.
    • Para um cache Premium, defina as configurações para porta não TLS, clustering, identidade gerenciada e persistência de dados. Você também pode selecionar se deseja habilitar a Autenticação do Microsoft Entra.
  7. Selecione a guia Próximo: Marcas ou o botão Próximo: Marcas na parte inferior da página.

  8. Opcionalmente, na guia Marcas, insira o nome e o valor caso deseje categorizar o recurso.

  9. Selecione Examinar + criar. Você será levado para a guia Examinar + criar, na qual o Azure valida sua configuração.

  10. Depois que a mensagem em verde Validação aprovada for exibida, selecione Criar.

A criação do cache demora um pouco. Monitore o progresso na página Visão Geral do Cache do Azure para Redis. Quando o Status for mostrado como Em execução, o cache estará pronto para uso.

Recuperar o nome de host, as portas e as chaves de acesso do portal do Azure

Para conectar seu servidor do Cache do Azure para Redis, o cliente de cache precisa do nome do host, das portas e de uma chave para o cache. Alguns clientes podem se referir a esses itens por nomes um pouco diferentes. Você pode obter o nome do host, as portas e as chaves do portal do Azure.

  • Para obter as chaves de acesso, selecione Autenticação no menu Recurso. Em seguida, selecione a guia Chaves de acesso.

    Chaves do Cache Redis do Azure

  • Para obter o nome do host e as portas do cache, selecione Visão geral no menu Recurso. O nome do host está no formato <nome DNS>.redis.cache.windows.net.

    Propriedades do Cache Redis do Azure

Para editar o arquivo CacheSecrets.config

  1. Crie um arquivo em seu computador denominado CacheSecrets.config. Coloque-o em um local em que ele não será verificado com o código-fonte do aplicativo de exemplo. Para este início rápido, o arquivo CacheSecrets.config está localizado em C:\AppSecrets\CacheSecrets.config.

  2. Editar o arquivo CacheSecrets.config. Depois adicione o seguinte conteúdo:

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. Substitua <cache-name> pelo nome do host do cache.

  4. Substitua <access-key> pela chave primária do cache.

    Dica

    É possível usar a chave de acesso secundária durante a rotação de chave como uma chave alternativa enquanto você regenera a chave de acesso primária.

  5. Salve o arquivo.

Atualizar o aplicativo MVC

Nesta seção, você pode ver um aplicativo MVC que apresenta uma nova exibição que mostra um teste simples no Cache do Azure para Redis.

Como o arquivo web.config se conecta ao cache

Quando você executa o aplicativo localmente, as informações em CacheSecrets.config são usadas para se conectar à instância do Cache do Azure para Redis. Posteriormente, você pode implantar esse aplicativo no Azure. Nesse momento, você definirá uma configuração de aplicativo no Azure que será usada pelo aplicativo para recuperar as informações de conexão do cache em vez desse arquivo.

Como o arquivo CacheSecrets.config não está implantado no Azure com seu aplicativo, você o usa apenas durante o teste do aplicativo localmente. Mantenha essas informações com o máximo de segurança possível para evitar o acesso mal-intencionado aos dados do cache.

Para atualizar o arquivo web.config

  1. No Gerenciador de Soluções, abra o arquivo web.config.

    Web.config

  2. No arquivo web.config, você pode definir o elemento <appSettings> para executar o aplicativo localmente.

    <appSettings file="C:\AppSecrets\CacheSecrets.config">

O runtime do ASP.NET mescla o conteúdo do arquivo externo com a marcação no elemento <appSettings> . O runtime ignora o atributo de arquivo se o arquivo especificado não puder ser encontrado. Seus segredos (a cadeia de conexão do cache) não são incluídos como parte do código-fonte do aplicativo. Quando você implantar o aplicativo Web no Azure, o arquivo CacheSecrets.config não será implantado.

Instalar o StackExchange.Redis

Sua solução precisa que o pacote StackExchange.Redis seja executado. Instale-o com este procedimento:

  1. Para configurar o aplicativo para que ele use o pacote NuGet StackExchange.Redis do Visual Studio, selecione Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes.

  2. Execute o comando a seguir na janela Package Manager Console:

    Install-Package StackExchange.Redis
    
  3. O pacote NuGet baixa e adiciona as referências de assembly necessárias para seu aplicativo cliente acessar o Cache do Azure para Redis com o cliente StackExchange.Redis.

Conexão ao cache com RedisConnection

A conexão ao seu cache é gerenciada pela classe RedisConnection. A conexão é feita pela primeira vez nesta instrução em ContosoTeamStats/Controllers/HomeController.cs:

   private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(connectionString: ConfigurationManager.AppSettings["CacheConnection"].ToString()););

O valor do segredo do CacheConnection é acessado usando o provedor de configuração do Gerenciador de Segredos e usado como o parâmetro de senha.

Em RedisConnection.cs, você vê que o namespace StackExchange.Redis foi adicionado ao código. Isto é necessário para a classe RedisConnection.

using StackExchange.Redis;

O código RedisConnection garante que sempre haja uma conexão íntegra com o cache gerenciando a instância ConnectionMultiplexer no StackExchange.Redis. A classe RedisConnection recria a conexão quando uma conexão é perdida e não consegue se reconectar automaticamente.

Para obter mais informações, confira StackExchange.Redis e o código em um repositório GitHub.

Exibições de layout no exemplo

O layout da página inicial deste exemplo é armazenado no arquivo _Layout.cshtml. Nesta página, você inicia o teste de cache real clicando em Testar Cache do Azure para Redis.

  1. No Gerenciador de Soluções, expanda a pasta Modos de Exibição>Compartilhadas. Depois abra o arquivo _Layout.cshtml.

  2. Você verá a seguinte linha no <div class="navbar-header">.

    @Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
    

    Captura de tela da página inicial

Mostrando dados do cache

Na página inicial, selecione Testar Cache do Azure para Redis para ver a saída de exemplo.

  1. No Gerenciador de Soluções, expanda a pasta Exibições e, em seguida, clique com o botão direito do mouse na pasta Início.

  2. 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 o aplicativo localmente

Por padrão, o projeto está configurado para hospedar o aplicativo localmente no IIS Express para teste e depuração.

Para executar o aplicativo localmente

  1. No Visual Studio, selecione Depurar>Iniciar Depuração para criar e iniciar o aplicativo localmente para teste e depuração.

  2. No navegador, selecione Teste do Cache do Azure para Redis na barra de navegação.

  3. No exemplo a seguir, a chave Message já tinha um valor armazenado em cache, que foi definido usando o console do Cache do Azure para Redis no portal. O aplicativo atualizou esse valor armazenado em cache. O aplicativo também executou os comandos PING e CLIENT LIST.

    Captura de tela do local do teste simples concluído

Publicar e executar no Azure

Depois de testar o aplicativo localmente com êxito, você pode implantar o aplicativo no Azure e executá-lo na nuvem.

Para publicar o aplicativo no Azure

  1. No Visual Studio, clique com o botão direito do mouse no nó do projeto no Gerenciador de Soluções. Depois selecione Publicar.

    Publicação

  2. Selecione Serviço de Aplicativo do Microsoft Azure, Criar Novo e depois Publicar.

    Publicar no Serviço de Aplicativo

  3. Na caixa de diálogo Criar Serviço de Aplicativo, faça as seguintes alterações:

    Setting Valor recomendado Descrição
    Nome do aplicativo Use o padrão. O nome do aplicativo é o nome do host para o aplicativo quando ele for implantado no Azure. O nome pode ter um sufixo de carimbo de data/hora adicionado a ele se for necessário para torná-lo exclusivo.
    Assinatura Escolha a sua assinatura do Azure. Essa assinatura será cobrada quanto aos encargos de hospedagem relacionados. Caso tenha várias assinaturas do Azure, verifique se a assinatura desejada está selecionada.
    Grupo de recursos Use o mesmo grupo de recursos no qual o cache foi criado (por exemplo, TestResourceGroup). O grupo de recursos ajuda você a gerenciar todos os recursos como um grupo. Posteriormente, quando desejar excluir o aplicativo, você poderá simplesmente excluir o grupo.
    Plano do Serviço de Aplicativo Selecione Novo e depois crie um novo Plano do Serviço de Aplicativo chamado TestingPlan.
    Use o mesmo Local usado ao criar o cache.
    Escolha Gratuito para o tamanho.
    Um Plano do Serviço de Aplicativo define um conjunto de recursos de computação com o qual um aplicativo Web será executado.

    Caixa de diálogo Serviço de Aplicativo

  4. Depois de definir as configurações de hospedagem do Serviço de Aplicativo, selecione Criar.

  5. Monitore a janela Saída no Visual Studio para ver o status de publicação. Depois de o aplicativo ter sido publicado, a URL para o aplicativo é registrada:

    Saída da publicação

Adicionar a configuração de aplicativo ao cache

Depois de o novo aplicativo ter sido publicado, adicione uma nova configuração de aplicativo. Essa configuração é usada para armazenar as informações de conexão do cache.

Para adicionar a configuração do aplicativo

  1. Digite o nome do aplicativo na barra de pesquisa na parte superior do portal do Azure para encontrar o novo aplicativo que você criou.

    Localizar o aplicativo

  2. Adicione uma nova configuração de aplicativo chamada CacheConnection ao aplicativo a ser usada para se conectar ao cache. Use o mesmo valor configurado para CacheConnection no arquivo CacheSecrets.config. O valor contém o nome do host do cache e a chave de acesso.

    Adicionar configuração de aplicativo

Executar o aplicativo no Azure

  1. No navegador, vá até a URL do aplicativo. A URL aparece nos resultados da operação de publicação na janela de saída do Visual Studio. Ela também é fornecida no portal do Azure, na página de visão geral do aplicativo que você criou.

  2. Selecione Testar Cache do Azure para Redis na barra de navegação para testar o acesso ao cache como você fez com a versão local.

Limpar os recursos

Se você continuar a usar este início rápido, poderá manter os recursos criados e reutilizá-los.

Caso contrário, se você não for mais usar o aplicativo de exemplo do início rápido, exclua os recursos do Azure criados neste início rápido para evitar encargos.

Importante

A exclusão de um grupo de recursos é irreversível. Ao excluir o grupo de recursos, todos os recursos nele são excluídos permanentemente. Não exclua acidentalmente o grupo de recursos ou os recursos incorretos. Se tiver criado os recursos para hospedar este exemplo dentro de um grupo de recursos existente que contém recursos que quer manter, exclua cada recurso individualmente à esquerda, em vez de excluir o grupo de recursos.

Para excluir um grupo de recursos

  1. Entre no portal do Azure e selecione Grupos de recursos.

  2. Na caixa Filtrar por nome..., digite o nome do seu grupo de recursos. As instruções deste artigo usaram um grupo de recursos chamado TestResources. Em seu grupo de recursos, na lista de resultados, selecione ..., depois selecione Excluir grupo de recursos.

    Excluir

  3. Você receberá uma solicitação para confirmar a exclusão do grupo de recursos. Digite o nome do grupo de recursos para confirmar e selecione Excluir.

Após alguns instantes, o grupo de recursos, e todos os recursos nele são excluídos.

Próximas etapas