Estamos utilizando Redis como un servidor de almacenamiento en caché, y a menudo tenemos que lidiar con la lista de almacenamiento en caché. Cuando guardamos en caché objetos simples hacemos un GET y Redis devolverá nulo si el objeto no existe y sabremos que el objeto no está en la memoria caché y debe cargarse desde la base de datos.¿Cuál es la mejor práctica para el manejo de listas y conjuntos en Redis?
Pero, ¿cómo podemos manejar lo mismo para las listas? Una lista vacía puede ser un valor válido. ¿Necesitamos llamar a EXISTS para verificar si existe la lista (pero haciendo las llamadas de la operación 2 en lugar de una) o alguien tiene una mejor idea de cómo manejar este escenario?
/Gracias
Después de un poco más de consideración, creo que mi solución será simplemente no regenerar la lista automáticamente, sobre la marcha. Mi preocupación era la siguiente: inserté un registro en una base de datos y lo agregué a una lista de Redis simultáneamente. Si Redis se bloqueara (y quizás pierda el último segundo de las transacciones), ¿cómo podría llegar a un estado en el que la base de datos y Redis estén sincronizados de nuevo? Creo que he encontrado una solución que significa que si Redis fallara, la situación tendrá que recuperarse manualmente al volver a sincronizar las listas desde la base de datos. Ah, y gracias por el buen trabajo :-) – Micael
+1 por ser la respuesta correcta. ¿Pero podría señalarme sus "buenas razones"? Los conjuntos vacíos y las listas son diferentes de los que no existen. – Crisfole