2. AGENDA
● Presentaciones
● Conceptos básicos de almacenamiento en caché
● Cache hit & cache miss
● Ventajas del uso de caché en integraciones
● Desventajas - Consideraciones
● Buenas prácticas
● Acerca de Redis
● Conector de MuleSoft
● Acción
● Q&A
3. Buenos Aires - Meetup Leaders
Federico Castellari & Florencia Cattelani
● Licenciado en TI
● Salesforce Specialist en CloudGaia
● 10+ años en el mundo de integración
● MuleSoft Meetup Leader
/fpcastellari
● Ingeniera en Informática
● Magíster en Evaluación de Proyectos
● COO en CloudGaia
● 10+ años en el mundo de integración
● MuleSoft Meetup Leader / MuleSoft Ambassador
● MuleSoft Go To Market Champion
/florenciacattelani
/florencia.cattelani
@florcattelani
Federico Castellari & Florencia Cattelani
4. Conceptos básicos del almacenamiento en caché
¿Qué entendemos por almacenamiento en caché?
Se refiere al proceso de almacenar datos a los que se accede con frecuencia en un sistema de
almacenamiento temporal de alta velocidad para reducir el tiempo de respuesta de las peticiones
realizadas por las aplicaciones. El propósito principal del almacenamiento en caché es reducir el
tiempo necesario para acceder a datos y mejorar la eficiencia de las operaciones.
Consumidor
Servicio de
Datos
Caché
Petición
Respuesta
5. Conceptos básicos del almacenamiento en caché
¿Cuándo almacenar en caché?
Para que la utilización de un caché tenga sentido y aporte valor, debemos considerar lo siguiente:
● La operación para recuperar los datos solicitados debe ser lenta.
● La caché debe ser capaz de almacenar y recuperar adecuadamente los datos de manera
más rápida.
● Los datos deben necesitarse más de una vez. Cuantas más veces se necesite, más eficaz y
útil será la caché.
● La operación para calcular o recuperar los datos solicitados no debe tener efectos
secundarios.
● Implementar una caché debe ser más rentable que no hacerlo.
6. Conceptos básicos del almacenamiento en caché
Algunos casos de uso comunes
● Web Caching: Almacena recursos web como imágenes, scripts o páginas completas para
acelerar el acceso a sitios web.
● Caché de Base de Datos: Guarda resultados de consultas frecuentes para reducir la carga
en la base de datos.
● Caché de Sesiones: Almacena datos de sesiones de usuarios para un acceso rápido y
mejorar la experiencia del usuario.
● Caché de APIs/WS: Cuando un servicio llama a otro utilizando una API o un Web Service,
la respuesta a la llamada puede almacenarse en una caché y utilizarse para devolver
resultados a futuras llamadas equivalentes.
7. Cache Hit y Cache Miss
Cache Hit
Cache Miss
Consumidor
Servicio de
Datos
Caché
Respuesta
Petición
Consumidor
Servicio de
Datos
Caché
Petición
Respuesta
Petición
no existe
en caché
1
2
Cache Ratio
#Cache hits
(#cache hits + #cache miss)
8. Ventajas del uso de caché en integraciones
✓ Reducción de latencia
✓ Mejora del rendimiento
✓ Escalabilidad
✓ Optimización de recursos
✓ Reducción de carga en sistemas backend
✓ Resiliencia y alta disponibilidad
✓ Simplificación de procesos
9. Desventajas - Consideraciones
Como en toda tecnología el almacenamiento en caché implica ventajas y desventajas. Por lo
cual debemos considerar:
● El almacenamiento en caché puede hacer que la aplicación no ejecute los efectos
secundarios deseados de las operaciones deseadas
● Pueden existir datos inconsistentes en una caché, rompiendo con el principio de fiabilidad
de los datos
● Rendimiento deficiente de la caché
10. Buenas prácticas
Para obtener el máximo beneficio del almacenamiento en caché y evitar problemas como el
"caché inconsistente", es importante seguir ciertas prácticas recomendadas:
Estrategias para gestionar la caché
● TTL
● Invalidación de caché
● Particionamiento de caché
● Caché buster
● Control de concurrencia
● Monitorización y ajuste
11. Acerca de Redis
Redis es una potente y versátil base de datos en memoria que se destaca por su velocidad y su
capacidad para manejar una amplia gama de casos de uso, desde el almacenamiento en caché
hasta la mensajería en tiempo real. Su estructura de datos en memoria y su arquitectura basada
en clave-valor lo convierten en una opción popular para aplicaciones que requieren un acceso
rápido a los datos. Como fortalezas, podemos destacar:
● Alta Velocidad
● Versatilidad de Estructuras de Datos
● Persistencia Opcional
● Capacidades de Replicación y Clustering
● Simplicidad de Implementación
● Flexibilidad de Uso
● Soporte para Lua Scripting
12. Acerca de Redis
Soluciones de caché
● Cache aside
Acelera las lecturas cuando la consistencia
no es determinante
Más información: https://redis.io/solutions/caching/
● Query caching
Cuando es necesario acelerar consultas
sencillas (SQL) con mínimo overhead
13. Acerca de Redis
Soluciones de caché
● Write-through cache
Acelera las lecturas cuando la consistencia
es determinante (síncrono)
Más información: https://redis.io/solutions/caching/
● Write-behind cache
Acelera la escritura (asíncrono)
14. Acerca de Redis
Soluciones de caché
● Cache prefetching
Cuando se requieren los datos
almacenados en caché con antelación
Más información: https://redis.io/solutions/caching/