Compartilhar via


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. No menu do portal, selecione Criar recurso.

    Captura de tela que mostra a opção Criar recurso realçada no painel de navegação esquerdo no portal do Azure.

  2. Na página Introdução, insira Cache do Azure para Redis na barra de pesquisa. Nos resultados da pesquisa, localize Cache do Azure para Redis e selecione Criar.

    Captura de tela que mostra o Azure Marketplace com o Cache do Azure para Redis na caixa de pesquisa e o botão

  3. No painel Novo Cache Redis, na guia Básico, defina as seguintes configurações para o cache:

    Configuração Ação Descrição
    Assinatura Selecione sua assinatura do Azure. A assinatura a ser usada para criar a 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 em que você criará o cache e outros recursos. 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 precisa ser uma cadeia de caracteres com 1 a 63 caracteres contendo somente números, letras e hifens. O nome deve 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 é \<DNS name>.redis.cache.windows.net.
    Localidade Selecione uma localização. Uma região do Azure que esteja próxima a outros serviços que usam o cache.
    Cache SKU Selecione um SKU. O SKU determina os parâmetros de tamanho, desempenho e 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.
  4. Selecione a guia Rede ou clique em Avançar: rede.

  5. Na guia Rede, selecione um método de conectividade a ser usado para o cache.

  6. Selecione a guia Avançado ou clique em Avançar: avançado.

  7. No painel Avançado, verifique ou selecione um método de autenticação com base nas seguintes informações:

    Captura de tela que mostra o painel Avançado e as opções disponíveis para seleção.

    • 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 Básico ou Standard, é possível escolher a seleção de uma porta não TLS.
    • Para caches Standard e Premium, é possível optar por habilitar zonas de disponibilidade. Não é possível desabilitar 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 otimizar a segurança, recomendamos usar o Microsoft Entra ID com identidades gerenciadas a fim de autorizar solicitações no cache, se possível. A autorização usando o Microsoft Entra ID e identidades gerenciadas oferece segurança superior e facilidade de uso em relação à autorização de chave de acesso compartilhada. Para saber como usar as identidades gerenciadas com o cache, confira Usar o Microsoft Entra ID para autenticação de cache.

  8. (Opcional) Selecione a guia Categorias ou clique em Avançar: categorias.

  9. (Opcional) Na guia Categorias, insira um nome e um valor de categoria se você quiser categorizar o recurso de cache.

  10. Selecione o botão Revisar + criar.

    Na guia Examinar + criar, o Azure valida a configuração automaticamente.

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

Uma nova implantação de cache ocorre durante diversos minutos. Você pode monitorar o progresso da implantação no painel Visão Geral do Cache do Azure para Redis. Quando o Status mostrar Em execução, o cache estará pronto para uso.

Usar a autenticação do Microsoft Entra ID em seu cache

Os caches Redis do Azure, exceto as camadas Enterprise e Enterprise Flash, têm a Autenticação do Microsoft Entra habilitada por padrão. As teclas de acesso estão desativadas por padrão.

Importante

A Microsoft recomenda o uso da autenticação do 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 apresentam riscos que não estão presentes ao usar o Microsoft Entra ID. Use a abordagem desse documento somente quando a autenticação do Microsoft Entra ID não for viável.

  1. No portal do Azure, selecione o cache em que você deseja usar a autenticação baseada em token do Microsoft Entra.

  2. Selecione Autenticação no menu Recurso.

  3. Selecione Selecionar membro e insira 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 à instância de cache.

    Captura de tela que mostra a autenticação selecionada no menu de recursos e a opção marcada para habilitar a autenticação do Microsoft Entra.

Para obter informações sobre como usar o Microsoft Entra ID com a CLI do Azure, confira as páginas de referência de identidade.

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 Web.config. Depois adicione o seguinte conteúdo:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname>:<port-number>"/>
    </appSettings>
    
  3. Substitua <cache-hostname> pelo nome do host do cache conforme ele aparece no painel Visão geral do portal do Azure

  4. Substitua <port-number> pelo número da porta do host do cache.

  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. O aplicativo MVC pode se conectar à instância do Redis Gerenciado do Azure (versão prévia) quando a configuração "RedisHostName" aponta para sua instância do Redis Gerenciado do Azure.

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 Microsoft.Azure.StackExchangeRedis
    
  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 Microsoft.Azure.StackExchangeRedis.

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(redisHostName: ConfigurationManager.AppSettings["RedisHostName"].ToString());

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.

A linha de código a seguir usa o Microsoft Entra ID para se conectar ao Cache do Azure para Redis ou Redis Gerenciados do Azure (versão prévia) sem senha.

var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());

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" })
    

    Uma 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 de teste simples concluído localmente.

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.

    Captura de tela mostrando o botão de publicação.

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

    Captura de tela mostrando como 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.

    Captura de tela mostrando a 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:

    Captura de tela publicando informações no painel de saída.

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.

    Captura de tela mostrando como localizar o aplicativo no portal do Azure.

  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 RedisHostName no arquivo web.config.

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 quiser continuar a usar os recursos que você criou neste artigo, conserve o grupo de recursos.

Caso contrário, se não pretende mais usar os recursos, você poderá excluir o grupo de recursos criado no Azure para evitar a cobrança.

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 você criou os recursos dentro de um grupo de recursos existente que contém recursos que você quer manter, você pode excluir cada recurso individualmente 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. Selecione o grupo de recursos que você quer excluir.

    Se existirem muitos grupos de recursos, use a caixa Filtrar para qualquer campo... e digite o nome do seu grupo de recursos que você criou para este artigo. Selecione o grupo de recursos na lista de resultados.

    Captura de tela mostrando uma lista dos grupos de recursos a serem excluídos no painel de trabalho.

  3. Selecione Excluir grupo de recursos.

  4. 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.

    Captura de tela mostrando um formulário que requer que a exclusão do nome do recurso seja confirmada.

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

Próximas etapas