Início Rápido: Utilizar a Cache do Azure para Redis no Java

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

Saltar para o código no GitHub

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

Pré-requisitos

Criar uma 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, 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

Configurar o ambiente de trabalho

Dependendo do seu sistema operacional, adicione variáveis de ambiente para o nome do host e a chave de acesso primária 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 de host DNS, obtido na seção Propriedades do seu recurso 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 recurso Cache para Redis do Azure no portal do Azure.

Compreender o exemplo Java

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

  1. Mude para o novo diretório de projeto redistest.

  2. Abra o arquivo pom.xml . No arquivo, você vê uma dependência para 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 seguinte código:

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

  5. Feche o App.java.

Compilar e executar a aplicação

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

    export REDISCACHEHOSTNAME=<your-host-name>.redis.cache.windows.net
    export REDISCACHEKEY=<your-primary-access-key>
    
  2. Execute o seguinte comando Maven para criar e executar a aplicação:

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

Na saída a seguir, você pode ver que a Message chave anteriormente tinha um valor armazenado em cache. O valor foi atualizado para um novo valor usando jedis.set. A aplicação 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

Clean up resources (Limpar recursos)

Se continuar a utilizar o código de início rápido, 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, digite 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.

    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 no mesmo são eliminados.

Próximos passos

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