Spring Cache Abstraction - Tensho97/Aprende-a-Aprender GitHub Wiki

Introducción

Básicamente, al aplicar cache a nivel de negocio, en nuestros métodos de Java, reducimos el número de operaciones lógicas de nuestra aplicación al almacenar resultados repetitivos en la cache. De esta manera, cada que vez que un método es invocado, la capa de abstracción verifica si el método ya ha sido ejecutado para los argumentos dados. Si esto ocurre, la cache regresa el resultado sin haber ejecutado el método. Esta lógica funciona solo en aquellos métodos que garanticen que los resultado retornado son del mismo tipo.

Como gran parte de los servicios que ofrece Spring Framework, la Caché, es una abstracción y requiere de alguna implementación.

Entre las implementaciones disponibles, tenemos por un lado, aquellas basadas en el JDK java.util.concurrent.ConcurrentMap: Ehcache 2.x, Gemfire cache, Caffeine, Guava caches y por otro lado, aquellos que siguen la especificación JSR-107 como Ehcache 3.x.

Para utilizar la capa de abstracción de cache de Spring, es necesario tener en consideración los siguientes dos aspectos:

  1. Declaración de caché. Mediante anotaciones se identifican los métodos que requieren de caché y el comportamiento que necesitemos ejecutar
  2. Configuración de caché. Se debe indicar que cache va a ser implementada, de donde de los datos van a ser guardados y leídos.


Autor: Richard