sql >> Base de Datos >  >> NoSQL >> Redis

¿Cómo actualizar redis después de actualizar la base de datos?

El almacenamiento de datos real y el caché deben sincronizarse utilizando el tercer enfoque que ya describió en su pregunta.

A medida que agrega datos a su almacenamiento definitivo (es decir, su base de datos SQL), debe poner estos datos en cola en algún bus de servicio o cola de mensajes, y dejar que algún servicio asincrónico realice toda la sincronización utilizando algún tipo de proceso en segundo plano.

No desea meterse en estos casos (cuando no utiliza un bus de servicio y un servicio asíncrono):

  • Haga que sus solicitudes o procesos sean más lentos porque el usuario debe esperar hasta que los datos se almacenen en su base de datos y caché.
  • Corre el riesgo de fallar durante el proceso de almacenamiento en caché y no poder tener una política de reintento (que suele ser una característica integrada en un bus de servicio o en algunas colas de mensajes). Además, esta falla puede terminar en una corrupción parcial o total del caché y no podrá programar automática y fácilmente alguna tarea para solucionar esta situación.

Sobre el uso de la caducidad de la clave de Redis, es una buena idea. Dado que Redis puede hacer caducar las claves mediante su mecanismo integrado, no debe implementar la caducidad de la clave desde todo el proceso en segundo plano. Si existe una clave es porque aún es válida.

Por cierto, no siempre estará en este caso (si una clave no ha caducado, significa que no debe sobrescribirse). Puede depender de su dominio real.