Início Rápido: Utilizar a Cache do Azure para Redis no Node.js

Neste início rápido, você incorpora o Cache Redis do Azure em um aplicativo Node.js para ter acesso a um cache dedicado seguro e acessível a partir de qualquer aplicativo no Azure.

Pré-requisitos

Para obter exemplos de utilização de outros clientes Node.js, consulte a documentação individual para os clientes Node.js listados em Clientes Node.js Redis.

Criar uma cache

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

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

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

    Em Novo, Bancos de Dados é realçado e o Cache Redis do Azure é realçado.

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

    Captura de ecrã a mostrar o separador Avançadas no painel de trabalho e a opção disponível para selecionar.

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

    Cache do Azure para chaves Redis

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

    Propriedades do Cache do Azure para Redis

Adicione variáveis de ambiente ao NOME DO ANFITRIÃO e à chave de acesso Primária. Use essas variáveis do seu código em vez de incluir as informações confidenciais diretamente no seu código.

set AZURE_CACHE_FOR_REDIS_HOST_NAME=contosoCache
set AZURE_CACHE_FOR_REDIS_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ligar-se à cache

As versões mais recentes do node_redis oferecem suporte a várias opções de conexão. Não crie uma nova conexão para cada operação em seu código. Em vez disso, reutilize ligações tanto quanto possível.

Criar uma aplicação nova em Node.js

  1. Crie um novo ficheiro de script com o nome redistest.js.

  2. Use o comando para instalar um pacote redis.

    `npm install redis`
    
  3. Adicione o seguinte exemplo de JavaScript ao ficheiro.

    const redis = require("redis");
    
    // Environment variables for cache
    const cacheHostName = process.env.AZURE_CACHE_FOR_REDIS_HOST_NAME;
    const cachePassword = process.env.AZURE_CACHE_FOR_REDIS_ACCESS_KEY;
    
    if(!cacheHostName) throw Error("AZURE_CACHE_FOR_REDIS_HOST_NAME is empty")
    if(!cachePassword) throw Error("AZURE_CACHE_FOR_REDIS_ACCESS_KEY is empty")
    
    async function testCache() {
    
        // Connection configuration
        const cacheConnection = redis.createClient({
            // rediss for TLS
            url: `rediss://${cacheHostName}:6380`,
            password: cachePassword
        });
    
        // Connect to Redis
        await cacheConnection.connect();
    
        // PING command
        console.log("\nCache command: PING");
        console.log("Cache response : " + await cacheConnection.ping());
    
        // GET
        console.log("\nCache command: GET Message");
        console.log("Cache response : " + await cacheConnection.get("Message"));
    
        // SET
        console.log("\nCache command: SET Message");
        console.log("Cache response : " + await cacheConnection.set("Message",
            "Hello! The cache is working from Node.js!"));
    
        // GET again
        console.log("\nCache command: GET Message");
        console.log("Cache response : " + await cacheConnection.get("Message"));
    
        // Client list, useful to see if connection list is growing...
        console.log("\nCache command: CLIENT LIST");
        console.log("Cache response : " + await cacheConnection.sendCommand(["CLIENT", "LIST"]));
    
        // Disconnect
        cacheConnection.disconnect()
    
        return "Done"
    }
    
    testCache().then((result) => console.log(result)).catch(ex => console.log(ex));
    

    Este código mostra como se conectar a uma instância do Cache Redis do Azure usando o nome do host do cache e as principais variáveis de ambiente. O código também armazena e obtém um valor de cadeia na cache. Os comandos PING e CLIENT LIST também são executados. Para obter mais exemplos de utilização de Redis com o cliente node_redis, veja https://redis.js.org/.

  4. Execute o script com o Node.js.

    node redistest.js
    
  5. Exemplo da saída.

    Cache command: PING
    Cache response : PONG
    
    Cache command: GET Message
    Cache response : Hello! The cache is working from Node.js!
    
    Cache command: SET Message
    Cache response : OK
    
    Cache command: GET Message
    Cache response : Hello! The cache is working from Node.js!
    
    Cache command: CLIENT LIST
    Cache response : id=10017364 addr=76.22.73.183:59380 fd=221 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 argv-mem=10 obl=0 oll=0 omem=0 tot-mem=61466 ow=0 owmem=0 events=r cmd=client user=default numops=6
    
    Done
    

Clean up resources (Limpar recursos)

Se você continuar para o próximo tutorial, pode manter os recursos criados neste início rápido e reutilizá-los. Caso contrário, se tiver terminado o aplicativo de exemplo de início rápido, você poderá excluir os recursos do Azure criados neste início rápido para evitar cobranças.

Importante

A eliminação de um grupo de recursos é irreversível e o grupo de recursos e todos os recursos contidos no mesmo serão permanentemente eliminados. 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 em vez de excluir o grupo de recursos.

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

  2. Na caixa de texto Filtrar por nome , introduza o nome do seu grupo de recursos. As instruções neste artigo utilizaram um grupo de recursos denominado TestResources. No seu grupo de recursos na lista de resultados, selecione ... e, em seguida , Excluir grupo de recursos.

    Excluir grupo de Recursos do Azure

  3. Confirme a exclusão do grupo de recursos. Insira o nome do grupo de recursos a ser confirmado e selecione Excluir.

  4. Após alguns instantes, o grupo de recursos e todos os recursos contidos no mesmo são eliminados.

Obter o código de exemplo

Obtenha o Node.js início rápido no GitHub.

Próximos passos

Neste início rápido, você aprendeu como usar o Cache Redis do Azure a partir de um aplicativo Node.js. Continue para o próximo início rápido para usar o Cache Redis do Azure com um aplicativo Web ASP.NET.