Melhorando a Performance de uma Aplicação Spring Boot com Cache Usando Redis

O uso de cache pode melhorar significativamente o desempenho da sua aplicação, reduzindo a carga nos recursos do sistema e acelerando o tempo de resposta. Aqui, compartilho uma abordagem simples e eficaz para implementar cache em uma aplicação Spring B…


This content originally appeared on DEV Community and was authored by Gervásio Artur Dombo

O uso de cache pode melhorar significativamente o desempenho da sua aplicação, reduzindo a carga nos recursos do sistema e acelerando o tempo de resposta. Aqui, compartilho uma abordagem simples e eficaz para implementar cache em uma aplicação Spring Boot usando Redis.

Configuração do Redis Localmente

O primeiro passo é rodar o Redis na sua máquina. Para isso, você pode usar um arquivo docker-compose para facilitar a configuração. Alternativamente, você pode optar por um serviço de Redis online.

docker-compose.yml

version: '3.1'

services:
  redis:
    image: redis:latest
    ports:
      - "6379:6379"

Rodando o docker compose:

docker compose up

Configuração na Aplicação

  1. Adicionar a Dependência no pom.xml.
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  1. Adicionar Configurações no application.properties.
## CONFIGURING CACHE
spring.cache.type=redis
spring.data.redis.url=${SPRING_DATA_REDIS_URL:redis://localhost:6379/0}
spring.data.redis.host=${SPRING_DATA_REDIS_HOST:localhost}
spring.data.redis.database=${SPRING_DATA_REDIS_DATABASE:1}
spring.data.redis.username=${SPRING_DATA_REDIS_USERNAME:default}
spring.data.redis.password=${SPRING_DATA_REDIS_PASSWORD:0199}
spring.data.redis.port=${SPRING_DATA_REDIS_PORT:6379}
spring.data.redis.timeout=60000
  1. Habilitar Cache na Classe de Inicialização.
@EnableCaching
@SpringBootApplication
public class WalletWiseApplication {
    public static void main(String[] args) {
        SpringApplication.run(WalletWiseApplication.class, args);
    }
}

Caso de Uso: Cacheando Despesas de um Usuário
📌 Cenário: Queremos cachear as despesas de um usuário específico para otimizar as buscas. Nomeamos o cache como fixed_expenses e usamos o identificador único do usuário como chave.

🔍 Busca Inicial: Quando o método getByUserId é chamado, o sistema verifica se os valores já estão no cache. Se não estiverem, ele busca as informações no banco de dados e alimenta o cache. Nas próximas buscas, as informações estarão no cache, evitando a necessidade de novas consultas ao banco de dados, o que melhora o tempo de execução e o desempenho da aplicação.

Atualizando o Cache
**
**✍️ Novo Cenário:
Se o usuário adicionar uma nova despesa, precisamos atualizar o cache. Para isso, usamos a anotação @CacheEvict no método add, especificando o nome do cache fixed_expenses e a chave correspondente. Isso remove o cache antigo, garantindo que uma nova busca pelo método getByUserId traga as informações mais recentes.

Benefícios

🔄 Desempenho Melhorado: Redução do tempo de resposta.
📉 Menor Carga no Banco de Dados: Menos consultas ao banco.
🚀 Aplicação Mais Rápida e Eficiente: Melhor experiência para o usuário.

💡 Usar o Redis para cache em sua aplicação Spring Boot pode ser um grande diferencial no desempenho da sua aplicação. Com a abordagem certa, você garante que suas informações estejam sempre atualizadas e acessíveis de forma rápida.


This content originally appeared on DEV Community and was authored by Gervásio Artur Dombo


Print Share Comment Cite Upload Translate Updates
APA

Gervásio Artur Dombo | Sciencx (2024-08-07T21:09:13+00:00) Melhorando a Performance de uma Aplicação Spring Boot com Cache Usando Redis. Retrieved from https://www.scien.cx/2024/08/07/melhorando-a-performance-de-uma-aplicacao-spring-boot-com-cache-usando-redis/

MLA
" » Melhorando a Performance de uma Aplicação Spring Boot com Cache Usando Redis." Gervásio Artur Dombo | Sciencx - Wednesday August 7, 2024, https://www.scien.cx/2024/08/07/melhorando-a-performance-de-uma-aplicacao-spring-boot-com-cache-usando-redis/
HARVARD
Gervásio Artur Dombo | Sciencx Wednesday August 7, 2024 » Melhorando a Performance de uma Aplicação Spring Boot com Cache Usando Redis., viewed ,<https://www.scien.cx/2024/08/07/melhorando-a-performance-de-uma-aplicacao-spring-boot-com-cache-usando-redis/>
VANCOUVER
Gervásio Artur Dombo | Sciencx - » Melhorando a Performance de uma Aplicação Spring Boot com Cache Usando Redis. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/08/07/melhorando-a-performance-de-uma-aplicacao-spring-boot-com-cache-usando-redis/
CHICAGO
" » Melhorando a Performance de uma Aplicação Spring Boot com Cache Usando Redis." Gervásio Artur Dombo | Sciencx - Accessed . https://www.scien.cx/2024/08/07/melhorando-a-performance-de-uma-aplicacao-spring-boot-com-cache-usando-redis/
IEEE
" » Melhorando a Performance de uma Aplicação Spring Boot com Cache Usando Redis." Gervásio Artur Dombo | Sciencx [Online]. Available: https://www.scien.cx/2024/08/07/melhorando-a-performance-de-uma-aplicacao-spring-boot-com-cache-usando-redis/. [Accessed: ]
rf:citation
» Melhorando a Performance de uma Aplicação Spring Boot com Cache Usando Redis | Gervásio Artur Dombo | Sciencx | https://www.scien.cx/2024/08/07/melhorando-a-performance-de-uma-aplicacao-spring-boot-com-cache-usando-redis/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.