Início Rápido: Usar o Cache do Azure para Redis no Java

Neste início rápido, você incorpora o Cache do Azure para Redis no aplicativo Java usando o cliente Jedis do Redis. Seu cache é um cache seguro e dedicado que pode ser acessado de qualquer aplicativo no Azure.

Pular para o código no GitHub

Clone o início rápido do Java de repositório no GitHub.

Pré-requisitos

Criar um Cache do Azure para Redis

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

    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.

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

    • 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, na navegação à esquerda do cache, selecione Chaves de acesso.

    Azure Cache for Redis keys

  • Para obter o nome do host e as portas, no painel de navegação esquerdo do cache, selecione Propriedades. O nome do host está no formato <nome DNS>.redis.cache.windows.net.

    Azure Cache for Redis properties

Configurar o ambiente de trabalho

Dependendo do sistema operacional, adicione variáveis de ambiente ao Nome do host e Chave de Acesso Primário que você anotou anteriormente. Abra um prompt de comando ou uma janela de terminal e configure os seguintes valores:

export REDISCACHEHOSTNAME=<your-host-name>.redis.cache.windows.net
export REDISCACHEKEY=<your-primary-access-key>

Substitua os espaços reservados pelos seguintes valores:

  • <your-host-name>: o nome do host DNS, obtido na seção Propriedades do seu recurso do Cache do Azure para Redis no portal do Azure.
  • <your-primary-access-key>: a chave de acesso primária, obtida na seção Chaves de acesso do seu recurso do Cache do Azure para Redis no portal do Azure.

Entender o exemplo Java

Neste exemplo, você usa o Maven para executar o aplicativo de início rápido.

  1. Altere para o novo diretório do projeto redistest.

  2. Abra o arquivo pom.xml. No arquivo, você verá uma dependência do Jedis:

    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>4.1.0</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    
  3. Feche o arquivo pom.xml.

  4. Abra App.java e veja o código com o código a seguir:

    package example.demo;
    
    import redis.clients.jedis.DefaultJedisClientConfig;
    import redis.clients.jedis.Jedis;
    
    /**
     * Redis test
     *
     */
    public class App 
    {
        public static void main( String[] args )
        {
    
            boolean useSsl = true;
            String cacheHostname = System.getenv("REDISCACHEHOSTNAME");
            String cachekey = System.getenv("REDISCACHEKEY");
    
            // Connect to the Azure Cache for Redis over the TLS/SSL port using the key.
            Jedis jedis = new Jedis(cacheHostname, 6380, DefaultJedisClientConfig.builder()
                .password(cachekey)
                .ssl(useSsl)
                .build());
    
            // Perform cache operations using the cache connection object...
    
            // Simple PING command
            System.out.println( "\nCache Command  : Ping" );
            System.out.println( "Cache Response : " + jedis.ping());
    
            // Simple get and put of integral data types into the cache
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            System.out.println( "\nCache Command  : SET Message" );
            System.out.println( "Cache Response : " + jedis.set("Message", "Hello! The cache is working from Java!"));
    
            // Demonstrate "SET Message" executed as expected...
            System.out.println( "\nCache Command  : GET Message" );
            System.out.println( "Cache Response : " + jedis.get("Message"));
    
            // Get the client list, useful to see if connection list is growing...
            System.out.println( "\nCache Command  : CLIENT LIST" );
            System.out.println( "Cache Response : " + jedis.clientList());
    
            jedis.close();
        }
    }
    

    Este código mostra como se conectar a uma instância do Cache do Azure para Redis usando o nome de host de cache e as principais variáveis de ambiente. O código também armazena e recupera um valor de cadeia de caracteres no cache. Os comandos PING e CLIENT LIST também são executados.

  5. Feche o App.java.

Compilar e executar o aplicativo

  1. Primeiro, se você ainda não o fez, deve definir as variáveis de ambiente conforme observado anteriormente.

    export REDISCACHEHOSTNAME=<your-host-name>.redis.cache.windows.net
    export REDISCACHEKEY=<your-primary-access-key>
    
  2. Execute o seguinte comando do Maven para compilar e executar o aplicativo:

    mvn compile
    mvn exec:java -D exec.mainClass=example.demo.App
    

Na saída a seguir, você pode ver que a chave Message tinha previamente um valor em cache. O valor foi atualizado para um novo valor usando jedis.set. O aplicativo também executou os comandos PING e CLIENT LIST.

Cache Command  : Ping
Cache Response : PONG

Cache Command  : GET Message
Cache Response : Hello! The cache is working from Java!

Cache Command  : SET Message
Cache Response : OK

Cache Command  : GET Message
Cache Response : Hello! The cache is working from Java!

Cache Command  : CLIENT LIST
Cache Response : id=777430 addr=             :58989 fd=22 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 ow=0 owmem=0 events=r cmd=client numops=6

Limpar os recursos

Se continuar usando o código de início rápido, você pode manter os recursos criados neste início rápido 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, e o grupo de recursos e todos os recursos contidos nele são excluídos permanentemente. Não exclua acidentalmente o grupo de recursos ou os recursos incorretos. Se você criou os recursos para hospedar esse exemplo dentro de um grupo de recursos existente que contém os recursos que você deseja manter, você pode excluir cada recurso individualmente em vez de excluir o grupo de recursos.

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

  2. Na caixa de texto 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 ... e então Excluir grupo de recursos.

    Screenshot of the Azure portal that shows the Resource groups page with the Delete resource group button highlighted.

  3. Digite o nome do grupo de recursos para confirmar a exclusão e selecione Excluir.

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

Próximas etapas

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