Integrando Redis em uma Aplicação Spring Boot

A integração do Redis em um projeto Spring Boot é simplificada pelas capacidades de confiugração automática do framework. Este guia descreve os passos principais para estabelecer a comunicação com um servidor Redis e utilizá-lo para armazenamento ou caching.

  1. Adicionando Dependências

Inclua o starter do Spring Data Redis no arquivo de build do projeto, como no exemplo Maven:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

Verifique a compatibilidade de versões com seu ambiente Spring Boot.

  1. Configuração da Conexão

Defina os parâmetros do servidor Redis no arquivo de propriedades da aplicação. Exemplo usando application.yml:

spring:
  redis:
    host: localhost
    port: 6380
    password: segredo123
  1. Criação de um Repositório Personalizado

Utilize Spring Data Redis para abstrair operações de dados. Declare uma interface de repositório:

import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface CacheDeSessoes extends CrudRepository<Sessao, String> {
    // Métodos de consulta customizados podem ser adicionados aqui
}

Substitua Sessao pela sua entidade de domínio.

  1. Injeção do Template Redis

Para operações diretas, injete o StringRedisTemplate ou RedisTemplate em um componente de serviço:

import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

@Service
public class GerenciadorCache {
    private final StringRedisTemplate redisOperacoes;

    public GerenciadorCache(StringRedisTemplate redisOperacoes) {
        this.redisOperacoes = redisOperacoes;
    }

    public void salvarNoCache(String chave, String valor) {
        redisOperacoes.opsForValue().set(chave, valor);
    }
}
  1. Seleção do Cliente Redis

Por padrão, o Spring Boot usa Lettuce. Para alternar para Jedis, ajuste as propriedades:

spring:
  redis:
    lettuce:
      enabled: false
    jedis:
      enabled: true
  1. Configuração de SSL e Clusters

Para conexões seguras, adicione configurações SSL. Em amibentes de cluster, especfiique os nós:

spring:
  redis:
    cluster:
      nodes: "redis-node1:6379,redis-node2:6379"
    ssl:
      enabled: true
  1. Integração com Spring Cache

Para usar o Redis como provedor de cache do Spring, adicione o starter de cache e anote métodos com @Cacheable:

import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

@Service
public class ServicoDados {
    @Cacheable(value = "cacheConsultas", key = "#id")
    public String buscarDado(String id) {
        // Lógica para recuperar dados
        return "resultado";
    }
}

Ative o cache na classe principal com @EnableCaching.

Tags: Spring Boot Redis Spring Data Redis java Lettuce

Publicado em 7-3 07:51