Implementacion CACHE en sprint boot.pptx

garpic1 12 views 24 slides Sep 13, 2025
Slide 1
Slide 1 of 24
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24

About This Presentation

implementar cache en sprint boot


Slide Content

Implementación d e Cache

¿Qué es la Caché ? Almacenamiento temporal de datos para mejorar la eficiencia y el rendimiento de las aplicaciones. Reduce la latencia y la carga en bases de datos o servicios externos . ¿Por qué usar Caché ? Mejora el tiempo de respuesta. Disminuye el uso de recursos del servidor. Facilita la escalabilidad.

Casos Implementarla en un micro Esta implementada en un micro y se aplicara a una nueva entidad

Caso 1: Implementarla en un micro Paso 1: Implementarla en un micro Para implementar caché en una aplicación Spring Boot , es esencial agregar la dependencia correspondiente en el archivo pom.xml . Esto se logra mediante el siguiente fragmento de código:

Paso 2: Definición de la Enum CacheConfigNombreEnum En este paso, se ha creado un enum CacheConfigNombreEnum , que se utiliza para definir los nombres de las cachés Spring Boot . Tener en cuenta que el valor del Enum y el valor de constante deben ser iguales

Paso 3: Configuración de Caché en Spring Boot Anotaciones de la Clase @ Configuration : Indica que esta clase contiene definiciones de beans para el contexto de la aplicación. Spring la tratará como una fuente de configuración. @ EnableCaching : Habilita el soporte para la caché en la aplicación, permitiendo que se reconozcan y procesen las anotaciones de caché (como @ Cacheable , @ CachePut , y @ CacheEvict ) en otros componentes de la aplicación. Método cacheManager @ Bean public CacheManager cacheManager () : Define un bean del tipo CacheManager , que es responsable de gestionar las instancias de caché. Método initCache @ Bean public CommandLineRunner initCache () : Define un bean que se ejecutará al iniciar la aplicación, implementando la interfaz CommandLineRunner . En este paso, se ha creado la clase CacheConfig , la cual es responsable de la configuración de caché en Spring Boot .

Paso 4: Uso de Caché en la Clase ParametroGeneralServiceImpl Anotación @ CacheConfig Esta anotación indica que todos los métodos de esta clase usarán la caché con el nombre definido en el Enum CacheConfigNombreEnum (" parametroGeneral "). Esto permite que no se tenga que especificar el nombre de la caché en cada método individual. En este paso, se utilizan varias anotaciones de caché para mejorar el rendimiento al almacenar en caché los resultados de métodos que recuperan datos.

Paso 4: Uso de Caché en la Clase ParametroGeneralServiceImpl Métodos Anotados con @ Cacheable Estos métodos almacenan en caché el resultado de su ejecución. Si se llama nuevamente con los mismos parámetros, devolverán el resultado almacenado en caché en lugar de ejecutar el método de nuevo.

Paso 4: Uso de Caché en la Clase ParametroGeneralServiceImpl Este método genera una clave para el caché basada en los parámetros del filtro, incluyendo el id, nombre, valor, estado y la configuración de paginación ( pageSize y pageNumber ). La clave generada puede utilizarse para almacenar y recuperar resultados de caché de manera eficiente. Esto es útil para evitar consultas repetidas a la base de datos con los mismos criterios de búsqueda.

Paso 5: Modificación del ParametroGeneralFilter La implementación de caché en ParametroGeneralServiceImpl permite que los datos recuperados se almacenen y reutilicen, mejorando el rendimiento de la aplicación al reducir el número de accesos a la base de datos. Utilizando las anotaciones @ Cacheable y @ CachePut , se gestiona eficientemente qué datos almacenar en caché y cómo actualizarlos cuando sea necesario.

Paso 6: Uso de Cache en la Clase CacheImpl La clase CacheImpl implementa la interfaz CacheService y se encarga de gestionar las operaciones relacionadas con el cache. Dependencias y Constructor Dependencias : Se inyectan dos servicios: ParametroGeneralService y CacheManager . cacheLoaders : Este es un ConcurrentHashMap que almacena Supplier de colecciones para cargar datos en caché. En este caso, se carga la respuesta de consultaInicialParametroGeneral para el tipo de caché PARAMETRO_GENERAL.

Paso 6: Uso de Cache en la Clase CacheImpl Método limpiarCache Este método limpia el caché asociado al nombre proporcionado. Utiliza Optional para manejar la posibilidad de que la caché no exista.

Paso 6: Uso de Cache en la Clase CacheImpl Método mostrarCache Este método permite mostrar el contenido de la caché. Si la caché es de tipo ConcurrentMapCache , se obtiene el caché nativo y se devuelve una copia en un nuevo ConcurrentHashMap .

Paso 6: Uso de Cache en la Clase CacheImpl Método cargarCache Este método carga los datos en caché utilizando el Supplier correspondiente de cacheLoaders . Si no hay un cargador definido para el tipo de caché proporcionado, devuelve una colección vacía.

Paso 7: Uso de Caché en la Clase ParametroGeneralController Inyección del Servicio de Caché Se inyecta CacheService , que permite realizar operaciones sobre la caché en los métodos del controlador . Reinicio del Caché al Insertar, Editar y Eliminar un Parámetro General Al insertar, editar o eliminar un nuevo ParametroGeneral , se llama a cacheService.reiniciarCache para limpiar y volver a cargar el caché correspondiente a PARAMETRO_GENERAL, asegurando que la caché esté actualizada con el nuevo dato.

Caso 2: Esta implementada en un micro y se aplicara a una nueva entidad Paso 1: Agregarlo al enum CacheConfigNombreEnum Tener en cuenta que el valor del Enum y el valor de constante deben ser iguales

Paso 2: Agregar consulta inicial Se pueden presentar 2 casos: Con o sin consulta inicial

Paso 3: Modificar ServiceImpl Se pueden presentar 2 casos: Con o sin consulta inicial

Paso 4: Modificar Filter Se pueden presentar 2 casos: Con o sin consulta inicial

Paso 5: Modificar CacheImpl Se pueden presentar 2 casos: Con o sin consulta inicial

Paso 6: Modificar Controller

Donde buscar la consulta principal

Donde buscar la consulta principal

Gestión de la cache