miércoles, 7 de diciembre de 2016

Habilitar y usar la Cache con Spring Boot

Ya realice hace no mucho un post sobre como usar la cache con una aplicación Spring, hoy veremos como hacerlo con una aplicación Spring Boot. Haremos un ejemplo básico, utilizando la configuración por defecto de Spring Boot sin hacer uso de software de terceros como Ehcache.

Para empezar suponemos que tenemos una aplicacion correctamente configurada respecto a Spring Boot y el acceso a BBDD. Lo primero que tendremos que hacer es añadir la librería que nos permite habilitar la cache

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

El siguiente paso, será indicar en nuestra clase de configuración indicar mediante la anotación 'EnableCaching' que vamos a utilizar la cache de consultas a BBDD. Con esta anotación, al arrancar Spring buscará en todas las clases las anotaciones  Cacheable, CachePut y CacheEvict.

@Configuration
@EnableWebMvc
@EnableCaching
public class WebMvcConfig extends WebMvcConfigurerAdapter {

Por último solo deberemos indicar en las llamadas a BBDD cuales van a ser cacheadas.


@Cacheable( value = { "CountryDao.findByCode" } )
Country findByCode( @Param( "code" ) String code );

Cuando cacheamos una consulta verdaderamente estamos haciendo un almacenamiento de los resultados en un mapa de memoria. Para poder diferenciar los diferentes mapas de datos en memoria cacheados utilizamos el campo 'value' asociado a la anotación 'Cacheable'. 

No hay comentarios:

Publicar un comentario