Configurar um aplicativo Inicializador do Spring Boot para usar o Redis na nuvem com o Cache Redis do Azure

Este artigo ensina a criar um cache Redis na nuvem usando o portal do Azure, depois usar o Spring Initializr para criar um aplicativo personalizado e, então, criar um aplicativo Web de Java que armazena e recupera os dados usando o cache Redis.

Prerequisites

Os seguintes pré-requisitos são obrigatórios para você concluir as etapas neste artigo:

Criar um aplicativo personalizado usando o Spring Initializr

  1. Navegue até https://start.spring.io/.

  2. Especifique que você deseja gerar um projeto Maven com Java, selecione a versão do Java 8 e insira os nomes de Grupo e Artefato para o seu aplicativo.

  3. Adicione dependências para a seção do Spring Web e marque a caixa Web. Em seguida, role para baixo até a seção NoSQL e marque a caixa Redis Reativo do Spring Data.

  4. Role até a parte inferior da página e clique no botão Gerar Projeto.

    Basic Spring Initializr options

    Observação

    O Spring Initializr usará os nomes de Grupo e Artefato para criar o nome do pacote, por exemplo: com.contoso.myazuredemo.

  5. Depois de ter extraído os arquivos no sistema local, seu aplicativo Spring Boot personalizado estará pronto para edição.

    Custom Spring Boot project files

Criar um cache Redis no Azure

  1. Navegue até o Portal do Azure em https://portal.azure.com/ e clique em +Novo.

  2. Clique em Banco de Dadose, em seguida, clique em Cache Redis.

    Selecting Redis Cache in the Azure portal.

  3. Na página Novo Cache Redis, especifique as seguintes informações:

    • Insira o nome de DNS para seu cache.
    • Especifique sua Assinatura, o Grupo de recursos, a Localização e o Tipo de cache.

    Observação

    Você pode usar o SSL com caches Redis, mas você precisa usar um cliente Redis diferente, como o Jedis. Para obter mais informações, consulte Como usar o Cache Redis do Azure com Java.

    Após especificar essas opções, selecione a guia Avançado.

    Create the cache in the Azure portal.

    Marque a caixa de seleção ao lado de Porta não TLS e selecione Examinar +criar, examine as especificações e escolha Criar.

    Select Non-TLS port when creating azure cache.

  4. Depois que o cache for concluído, você o verá listado no Painel do Azure, bem como nas páginas Todos os Recursos e Caches Redis. Você pode clicar no seu cache em qualquer um desses locais para abrir a página de propriedades do cache.

    Resource provisioned in the Azure portal.

  5. Quando a página que contém a lista de propriedades do cache for exibida, clique em Chaves de acesso e copie as chaves de acesso para o seu cache.

    Copy the access keys under the Access keys section.

Configurar o Spring Boot personalizado para usar o Cache Redis

  1. Localize o arquivo application.properties no diretório recursos do seu aplicativo, ou crie o arquivo se ele ainda não existe.

    Locate the application.properties file

  2. Abra o arquivo application.properties em um editor de texto e adicione as seguintes linhas ao arquivo, então substitua os valores de exemplo pelas propriedades adequadas do seu cache:

    # Specify the DNS URI of your Redis cache.
    spring.redis.host=myspringbootcache.redis.cache.windows.net
    
    # Specify the port for your Redis cache.
    spring.redis.port=6379
    
    # Specify the access key for your Redis cache.
    spring.redis.password=<your-redis-access-key>
    

    Editing the application.properties file

    Observação

    Se você estivesse usando outro cliente Redis, como Jedis, que habilita o SSL, seria necessário especificar que você deseja usar o SSL em seu arquivo application.properties e usar a porta 6380. Por exemplo:

    # Specify the DNS URI of your Redis cache.
    spring.redis.host=myspringbootcache.redis.cache.windows.net
    # Specify the access key for your Redis cache.
    spring.redis.password=<your-redis-access-key>
    # Specify that you want to use SSL.
    spring.redis.ssl=true
    # Specify the SSL port for your Redis cache.
    spring.redis.port=6380
    

    Para obter mais informações, consulte Como usar o Cache Redis do Azure com Java.

  3. Salve e feche o arquivo application.properties.

  4. Crie uma pasta chamada controlador sob a pasta de origem para o seu pacote; por exemplo:

    C:\SpringBoot\myazuredemo\src\main\java\com\contoso\myazuredemo\controller

    -ou-

    /users/example/home/myazuredemo/src/main/java/com/contoso/myazuredemo/controller

  5. Crie um novo arquivo denominado HelloController.java na pasta Controlador. Abra o arquivo em um editor de texto e adicione o seguinte código a ele:

    package com.contoso.myazuredemo;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.data.redis.core.StringRedisTemplate;
    import org.springframework.data.redis.core.ValueOperations;
    
    @RestController
    public class HelloController {
    
       @Autowired
       private StringRedisTemplate template;
    
       @RequestMapping("/")
       // Define the Hello World controller.
       public String hello() {
    
          ValueOperations<String, String> ops = this.template.opsForValue();
    
          // Add a Hello World string to your cache.
          String key = "greeting";
          if (!this.template.hasKey(key)) {
              ops.set(key, "Hello World!");
          }
    
          // Return the string from your cache.
          return ops.get(key);
       }
    }
    

    Onde você precisará substituir com.contoso.myazuredemo pelo nome do pacote para o seu projeto.

  6. Salve e feche o arquivo HelloController.java.

  7. Crie seu aplicativo Spring Boot com Maven e execute-o; por exemplo:

    mvn clean package
    mvn spring-boot:run
    
  8. Teste o aplicativo Web navegando até http://localhost:8080 com um navegador da Web ou use a sintaxe semelhante ao seguinte exemplo, se você tiver o curl disponível:

    curl http://localhost:8080
    

    Você deve ver a mensagem "Olá, Mundo!" do controlador de exemplo exibida, que está sendo recuperada dinamicamente do cache Redis.

Próximas etapas

Para saber mais sobre o Spring e o Azure, continue no Spring no Centro de Documentação do Azure.

Recursos adicionais

Para obter mais informações sobre como usar aplicativos Spring Boot no Azure, confira os seguintes artigos:

Para obter mais informações sobre como usar o Azure com Java, confira Azure para Desenvolvedores Java e Como trabalhar com o Java e o Azure DevOps.

Para obter mais informações sobre como começar a usar o Cache Redis com Java no Azure, consulte Como usar o Cache Redis do Azure com Java.

O Spring Framework é uma solução de software livre que ajuda os desenvolvedores Java criar aplicativos de nível empresarial. Um dos projetos mais populares que é criado com base nessa plataforma é o Spring Boot, que fornece uma abordagem simplificada para a criação de aplicativos Java autônomos. Para ajudar os desenvolvedores a começarem a usar o Spring Boot, vários exemplos de pacotes do Spring Boot estão disponíveis em https://github.com/spring-guides/. Além de escolher na lista de projetos básicos do Spring Boot, o Spring Initializr ajuda os desenvolvedores a começarem a criar aplicativos personalizados do Spring Boot.