Partilhar via


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

Criar uma cache

Em seguida, crie a cache para a aplicação.

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

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

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

    Captura de ecrã que mostra o Azure Marketplace com o Cache Redis do Azure na caixa de pesquisa e o botão Criar está realçado.

  3. 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.
  4. Selecione a guia Rede ou selecione 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 selecione 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 ecrã a mostrar o painel Avançado e as opções disponíveis para selecionar.

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

  8. (Opcional) Selecione a guia Tags ou selecione Next: Tags.

  9. (Opcional) Na guia Marcas , insira um nome e um valor de tag se quiser categorizar seu recurso de cache.

  10. Selecione o botão Rever + criar.

    Na guia Revisão + criação, o Azure valida automaticamente sua configuração.

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

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

  2. Selecione Autenticação no menu Recurso.

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

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

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

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

  2. Edite o arquivo Web.config . Em seguida, 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 aparece na folha Visão geral do Portal do Azure

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

  5. 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:

  1. Para configurar o aplicativo para usar o pacote NuGet StackExchange.Redis para Visual Studio, selecione Tools > NuGet Package Manager Package Manager > Console.

  2. Execute o seguinte comando a partir da 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 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.

  1. No Explorador de Soluções, expanda a pasta Vistas>Partilhado. Em seguida, abra o ficheiro _Layout.cshtml.

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

    Captura de ecrã da página de boas-vindas.

Mostrando dados do cache

Na home page, selecione Cache do Azure para Teste Redis para ver a saída de exemplo.

  1. No Explorador de Soluções, expanda a pasta Vistas e, em seguida, clique com o botão direito do rato na pasta Raiz.

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

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

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

  3. 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 comandos PING e CLIENT LIST.

    Captura de tela do teste simples concluído localmente.

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

  1. No Visual Studio, clique com o botão direito do rato no nó do projeto no Explorador de Soluções. Em seguida, selecione Publicar.

    Captura de ecrã a mostrar o botão de publicação.

  2. Selecione Serviço de Aplicações do Microsoft Azure, selecione Criar Novo e, em seguida, selecione Publicar.

    Captura de tela mostrando como publicar no Serviço de Aplicativo.

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

    Captura de tela mostrando a caixa de diálogo Serviço de Aplicativo.

  4. Depois de configurar as definições de alojamento do Serviço de Aplicações, selecione Criar.

  5. 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:

    Informações de publicação de captura de tela no painel de saída.

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

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

    Captura de ecrã a mostrar como localizar a aplicação no portal do Azure.

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

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

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

  1. Inicie sessão no Portal do Azure e selecione Grupos de recursos.

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

    Captura de ecrã a mostrar uma lista de grupos de recursos a eliminar no painel de trabalho.

  3. Selecione Eliminar grupo de recursos.

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

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

Após alguns instantes, o grupo de recursos e todos os respetivos recursos são eliminados.

Próximos passos