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 e selecione Criar um recurso.

    Create a resource is highlighted in the left navigation pane.

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

    On New, Databases is highlighted, and Azure Cache for Redis is highlighted.

  3. Na página Novo Cache Redis, defina as configurações para o novo 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>.
    Localização Drop-down e selecione um local. Selecione uma região perto de outros serviços que usam seu cache.
    Tipo de cache Drop-down e selecione uma camada. A camada determina o tamanho, o desempenho e os recursos disponíveis para o cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis.
  4. Selecione a guia Rede ou selecione o botão Rede na parte inferior da página.

  5. Na guia Rede, selecione seu método de conectividade.

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

    Screenshot showing the Advanced tab in the working pane and the available option to select.

    • Para caches Basic 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 Next: Tags ou selecione o botão Next: Tags na parte inferior da página.

  8. Opcionalmente, na guia Marcas , insira o nome e o valor se desejar categorizar o recurso.

  9. Selecione Rever + criar. Você é levado para a guia Revisão + criação, onde o Azure valida sua configuração.

  10. 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 nome de host, portas e chaves de acesso do portal do Azure

Para conectar seu servidor 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 mencionar esses itens com nomes ligeiramente diferentes. Você pode obter o nome do host, as portas e as chaves no portal do Azure.

  • Para obter as chaves de acesso, na navegação à esquerda do cache, selecione Teclas de acesso.

    Azure Cache for Redis keys

  • Para obter o nome do host e as portas, na navegação à esquerda do cache, selecione Propriedades. O nome do host é do formato <DNS name.redis.cache.windows.net>.

    Azure Cache for Redis properties

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 ficheiro CacheSecrets.config. Em seguida, 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 anfitrião da cache.

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

    Gorjeta

    Pode utilizar a chave de acesso secundária durante a rotação da chave como uma chave alternativa enquanto regenera a chave de acesso primária.

  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.

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 à sua instância do Cache do Azure para Redis. Mais tarde, você pode implantar esse aplicativo no Azure. Nessa altura, vai configurar uma definição de aplicação no Azure que a aplicação utiliza para obter as informações de ligação da cache em vez deste ficheiro.

Uma vez que o ficheiro CacheSecrets.config não está implementado no Azure com a sua aplicação, só pode utilizá-lo durante o teste da aplicação localmente. Mantenha estas informações o mais seguras possíveis para impedir o acesso malicioso aos seus dados em cache.

Para atualizar o ficheiro 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 para executar o <appSettings> aplicativo localmente.

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

O tempo de execução do ASP.NET une o conteúdo do ficheiro externo e a marcação no elemento <appSettings>. O tempo de execução ignora o atributo de ficheiro se não for possível localizar o ficheiro especificado. Os segredos (a cadeia de ligação para a cache) não são incluídos como parte do código fonte da aplicação. Quando você implanta seu aplicativo Web no Azure, o arquivo CacheSecrets.config não é implantado.

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 StackExchange.Redis
    
  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 StackExchange.Redis 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(connectionString: ConfigurationManager.AppSettings["CacheConnection"].ToString()););

O valor do segredo CacheConnection é acessado usando o provedor de configuração do Secret Manager e é usado como o parâmetro password.

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.

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

    screenshot of welcome page

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.

    Screenshot of simple test completed local

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.

    Publish

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

    Publish to App Service

  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.

    App Service dialog box

  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:

    Publishing output

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.

    Find app

  2. Adicione uma nova definição de aplicação denominada CacheConnection para a aplicação utilizar para se ligar à cache. Utilize o mesmo valor que configurou para CacheConnection no ficheiro CacheSecrets.config. O valor contém o nome do anfitrião da cache e a chave de acesso.

    Add app setting

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 continuar a utilizar este início rápido, pode manter os recursos que criou e reutilizá-los.

Caso contrário, se tiver concluído o exemplo de aplicação do início rápido, pode eliminar os recursos do Azure que criou neste início rápido, para evitar encargos.

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 para hospedar este exemplo dentro de um grupo de recursos existente que contém recursos que você deseja manter, você pode excluir cada recurso individualmente à esquerda 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. Na caixa Filtrar por nome..., escreva o nome do grupo de recursos. As instruções neste artigo utilizaram um grupo de recursos denominado TestResources. No grupo de recursos na lista de resultados, selecione ... e, em seguida, selecione Eliminar grupo de recursos.

    Delete

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

Próximos passos