Ejemplo de implementación de Caché Memoization a nivel de Request con Spring AOP

En este artículo Vlad Mihalcea nos explica cómo implementar basado en Spring AOP una sencilla caché de tipo Memoization (técnica de caché a nivel de método para acelerar invocaciones consecutivas)

Como cuenta en el post no usa la abstracción de Caché de Spring porque esta funciona a nivel de Aplicación y no a nivel de Petición (es decir cachearé solo las peticiones sucesivas para un mismo cliente).

La implementación consta de:

1. Defino anotación que usaré para saber qué métodos cachear

2. Defino un InvocationContext para saber desde qué método se me llama:

Y un Scope de Request:

3. Finalmente implemento el Aspecto que va a encargarse de la lógica:

En el que se ve que si existe el elemento en cacheé se devuelve este.

4. Y finalmente lo ponemos en práctica:

Sencillo, verdad?

Aunque es fácil vislumbrar en este método un OutOfMemory al cabo del tiempo J

Respuesta

  1. […] Ejemplo de implementación de Caché Memoization a nivel de Request con Spring AOP […]

Deja un comentario