Usar o Cache Redis do Azure no Spring

O Cache do Azure para Redis fornece um armazenamento de dados na memória baseado no software Redis. O Redis melhora o desempenho e a escalabilidade de um aplicativo que usa fortemente armazenamentos de dados de back-end.

Este tutorial demonstra como usar um cache Redis para armazenar e recuperar dados em um aplicativo Spring Boot.

Pré-requisitos

  • Uma assinatura do Azure - crie uma gratuitamente.

  • Java Development Kit (JDK) versão 8 ou superior.

  • Apache Maven, versão 3.0 ou superior.

  • cURL ou um utilitário HTTP semelhante para testar a funcionalidade.

  • Uma instância de cache Redis. Se você não tiver um, consulte Guia de início rápido: criar um cache Redis de código aberto.

  • Um aplicativo Spring Boot. Se você não tiver um, crie um projeto Maven com o Spring Initializr. Certifique-se de selecionar Projeto Maven e, em Dependências, adicione as dependências Spring Web e Spring Data Reative Redis e, em seguida, selecione Java versão 8 ou superior.

Codificar a aplicação

Para usar um cache Redis para armazenar e recuperar dados, configure o aplicativo usando as etapas a seguir.

  1. Configure as credenciais de cache Redis no arquivo de configuração application.properties, conforme mostrado no exemplo a seguir.

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

    Nota

    Se estiver a utilizar outro cliente de Redis, como Jedis, que permita SSL, deve especificar que pretende utilizar SSL no ficheiro application.properties e utilizar a porta 6380. Por exemplo:

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

    Para obter mais informações, consulte Guia de início rápido: usar o Cache Redis do Azure em Java.

  2. Edite o arquivo de classe de inicialização para mostrar o seguinte conteúdo. Esse código armazena e recupera dados.

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.CommandLineRunner;
    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;
    
    @SpringBootApplication
    public class DemoCacheApplication implements CommandLineRunner {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(DemoCacheApplication.class);
    
        @Autowired
        private StringRedisTemplate template;
    
        public static void main(String[] args) {
            SpringApplication.run(DemoCacheApplication.class, args);
        }
    
        @Override
        public void run(String... args) {
            ValueOperations<String, String> ops = this.template.opsForValue();
            String key = "testkey";
            if(!this.template.hasKey(key)){
                ops.set(key, "Hello World");
                LOGGER.info("Add a key is done");
            }
            LOGGER.info("Return the value from the cache: {}", ops.get(key));
        }
    
    }
    
  3. Inicie a aplicação. O aplicativo recuperará dados do cache Redis. Você verá logs semelhantes ao exemplo a seguir:

    Add a key is done
    Return the value from the cache: Hello World
    

Implantar no Azure Spring Apps

Agora que você tem o aplicativo Spring Boot em execução localmente, é hora de movê-lo para a produção. O Azure Spring Apps facilita a implantação de aplicativos Spring Boot no Azure sem alterações de código. O serviço gerencia a infraestrutura dos aplicativos Spring para que os desenvolvedores possam se concentrar em seu código. O Azure Spring Apps fornece gerenciamento do ciclo de vida usando monitoramento e diagnóstico abrangentes, gerenciamento de configuração, descoberta de serviços, integração de CI/CD, implantações azul-verde e muito mais. Para implantar seu aplicativo no Azure Spring Apps, consulte Implantar seu primeiro aplicativo no Azure Spring Apps.

Próximos passos

Para saber mais sobre o Spring e o Azure, avance para o centro de documentação relativa ao Spring no Azure.