⚙️ Trade-offs en Caché

No existe una estrategia mágica que funcione para todo. Cada una tiene compensaciones.

📖

Lectura Frecuente / Escritura Esporádica

Si lectura es frecuente
✓ Cache-Aside funciona bien
Si escritura es constante
✗ Requiere otra estrategia
⚖️

Consistencia vs Velocidad

Queremos dato exacto
Sacrificamos velocidad
Queremos respuesta rápida
Aceptamos obsolescencia
🔄

Obsolescencia vs Carga DB

Datos viven poco en caché
Caducan pronto, más refrescos
Datos viven siempre
Presión en BD al actualizar

🎯 No hay bala de plata

Todo depende de tu caso de uso. Debes entender los trade-offs y elegir la estrategia adecuada.

📊 Resumen de Estrategias

🧩 Cache-Aside
✓ Más popular en aplicaciones reales. Control total, resiliente pero primer acceso lento.
🔁 Read-Through
✓ Código limpio. El caché es transparente, centralización de lógica pero más complejo.
🔄 Refresh-Ahead
✓ Alto rendimiento. Datos siempre frescos, pero requiere predicción y análisis.
✍️ Write-Through
✓ Alta confiabilidad. Cero pérdida, pero escrituras lentas (2 saltos).
🚫 Write-Around
✓ Eficiencia. No desperdicia RAM, pero primer acceso en lectura es lento.
⚡ Write-Back
✓ Máximo rendimiento. Escrituras instantáneas, pero riesgo de pérdida de datos.

🤔 Preguntas para decidir

  • ¿Los datos son críticos? → Write-Through
  • ¿Se leen mucho pero escriben poco? → Cache-Aside o Read-Through
  • ¿La latencia es crítica? → Refresh-Ahead o Write-Back
  • ¿Escribimos mucho pero leemos poco? → Write-Around
  • ¿Necesitamos código limpio? → Read-Through
  • ¿Necesitamos control total? → Cache-Aside
⬅️ Cache HIT vs MISS➡️ A las Estrategias