Adicionando cache com EhCache

EhCache é um cache aberto baseado em padrões que aumenta o desempenho, descarrega seu banco de dados e simplifica a escalabilidade. É o cache mais utilizado em Java porque é robusto, comprovado, completo e integra-se a outras bibliotecas e frameworks populares.

EhCache se equilibra do armazenamento em cache em processo, todo o caminho para implementações in process / out-of-processas misturadas com caches de tamanho de terabyte.

Cache com EhCache

Gostaria de aumentar a performance da minha aplicação utilizando cache, pois assim eu poderia armazenar resultados de processos lentos em memória, evitando que ele seja executado a todo momento.

Muitas vezes precisamos executar tarefas que levam muito tempo para serem executadas, impactando na performance da aplicação.

O EhCache é um mecanismo de cache que se integra muito bem com o Spring Boot, permitindo armazenar dados processados na memória para posterior utilização.

Basicamente quando executamos uma operação lenta, podemos armazenar seu resultado no cache, ou seja, na memória (na maioria dos casos), para que da próxima vez que ela seja executada, a aplicação apenas retorne o valor previamente processado e armazenado no cache.

O Spring Boot já possui suporte ao EhCache, sendo que para sua utilização basta apenas adicionar a seguinte dependência ao arquivo ‘pom.xml’:

<dependencies>
<dependency>
<groupId> net.sf.ehcache </groupId>
<artifactId> ehcache </artifactId>
</dependency>
</dependencies>

O cache trabalhá como um banco de dados em memória no formato chave e valor.
Para marcar o resultado de uma operação a ser adicionada ao cache, você deverá utilizar a anotação ‘@Cachable’, passando como parâmetro o nome de como o resultado será armazenado no cache.

No código a seguir será criado um serviço que será adicionado ao cache, veja o código a seguir:

import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
import org.springframework.cache.annotation.Cacheable ;
import org.springframework.stereotype.Service ;

@Service
public class ExemploCacheService {
private static final Logger log =
LoggerFactory . getLogger ( ExemploCacheService . class );
@Cacheable ( "exemploCache" )
public String exemploCache () {
log . info ( "### Executando o serviço..." );
return "Teste de exemplo de cache" ;
}
}

Com o serviço criado, precisaremos registrar essa entrada no cache, e fazemos isso no arquivo ehcache.xml, que deverá ficar no diretório ‘resources’ do projeto. Segue seu código:

<ehcache xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation= "ehcache.xsd" >
<cache name= "exemploCache"
maxEntriesLocalHeap= "200"
timeToLiveSeconds= "360" >
</cache>
</ehcache>

O uso do atributo ‘timeToLiveSeconds’ é importante para determinar por quanto tempo o resultado será mantido no cache, em segundos.

Para concluir, precisaremos habilitar o cache na aplicação Spring Boot, com o uso da anotação ‘@EnableCaching’, que deverá ser adicionado ao arquivo principal da aplicação.

 

Baixe o ebook de API RESTful em Spring Boot

 
Cache com EhCache
 

Curso que recomendo para você

Selecionamos uma série de cursos on-line para você se preparar e abrir as portas para as vagas de programação. Conheça cada um dos cursos nos links oficiais abaixo.

Construa e plublique APIs com Spring Boot
RESTful Spring Boot
No curso você será capaz de criar APIs RESTful com elementos altamente escaláveis e publicar em cloud.
593 alunosHoras do curso 40h Horas do curso certificado
Promoção R$ 147
12x de R$ 14,32
O curso API RESTful com Spring Boot e Java 8 – Guia de Referência, é um curso que visa apresentar os principais componentes de uma API RESTful eficiente e escalável no formato de problemas e soluções.
Mais de 200 aulas curso completo em JSF 2.2
JSF 2.2 e PrimeFaces
Curso completo em JSF 2.2 com PrimeFaces, Spring, Hibernate, JPA, Ireport e CDI. Iremos do básico ao avançado em JSF.
2.985 alunosHoras do curso 100h Horas do curso certificado
Promoção R$ 189
12x de R$ 18,41
A melhor forma de aprender a desenvolver sistemas em Java é tendo como exemplo um projeto e curso completo onde possa observar o código para melhor entendimento do funcionamento das rotinas a acompanhar as vídeos aulas de desenvolvimento. Esse curso contém tudo que um desenvolvedor precisa saber para entrar no mercado de trabalho.

 

 

 


Acesse
Cursos e Projetos
Java
Acesse
Outros Cursos
PHP MySQL Android
Acesse
Encomende um Projeto
Feito pra Você
Acesse
Tire as Dúvidas On-line
Consultor
Acesse
Aulas de Java só suas
Encomende Agora
Acesse
Dividindo Conhecimento
Posts e Tutoriais
Acesse
Sites e Parceiros
Associados
Acesse
Conheça os curso gratuitos
Grátis

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Instrutor Java Quer se tornar aluno VIP? CLIQUE AQUI!
Instrutor Java

Alex Fernando Egidio
Autor, criador e fundador do Java Avançado Cursos TI. Atua no mercado como desenvolvedor e engenheiro de sistemas em Java é apaixonado por desenvolvimento web em Java e pela “mágica” que seus frameworks trazem para o dia a dia de nós desenvolvedores.
Com mais de 10 anos de experiência ajuda programadores do Brasil todo a se tornarem profissionais.