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

¿Cómo sabría Redis si tiene que devolver datos almacenados en caché o datos nuevos de la base de datos?

Redis no tiene idea de si los datos en la base de datos se han actualizado.

Normalmente, usamos Redis para almacenar datos en caché de la siguiente manera:

  1. El cliente comprueba si los datos, p. par clave-valor, existe en Redis.
  2. Si la clave existe, el cliente obtiene el valor correspondiente de Redis.
  3. De lo contrario, obtiene datos de la base de datos y los configura en Redis. También el cliente establece un vencimiento, digamos 5 minutos, para el par clave-valor en Redis.
  4. Entonces Redis atenderá cualquier solicitud posterior de la misma clave. Aunque los datos en Redis pueden estar desactualizados.
  5. Sin embargo, después de 5 minutos, esta clave se eliminará de Redis automáticamente.
  6. Vaya al paso 1.

Entonces, para mantener sus datos en Redis actualizados, puede establecer un tiempo de vencimiento corto. Sin embargo, su base de datos tiene que atender muchas solicitudes.

Si desea reducir en gran medida las solicitudes a la base de datos, puede establecer un tiempo de caducidad mayor. De modo que, la mayoría de las veces, Redis puede atender las solicitudes con posibles datos obsoletos.

Debe considerar detenidamente el equilibrio entre el rendimiento y los datos obsoletos.