listas permiten duplicados, pero no proporcionan una manera sencilla de comprobar la existencia y como se aconseja @Fritzy, o hay que hacer:
- Realiza múltiples operaciones (quitar a continuación, añadir de nuevo se encuentra) para los controles simples = los costes a tiempo
- tener dos grupos separados = costos en la historia
me sorprende que nadie se aconseja utilizar una Hash Tabla o un conjunto Ordenada que combinan ventajas de permitiendo duplicidad (almacenando el número de elementos como valor - Hash Tabla, o la puntuación - Ordenada Set) y órganos de ajuste por naturaleza de una tabla/juego de hash
tabla hash
para comprobar si hay una existencia clave, utilice el comando HGET
. Devuelve una respuesta nil
si el miembro especificado no existe.
Para agregar un nuevo miembro, simplemente use HINCRBY
, que actualizará el valor (es decir, la cantidad de elementos con el nombre del miembro) o creará un nuevo miembro si no existe.
Ordenado Conjunto
Para comprobar la existencia de una clave, utilice uno de los tres siguientes comandos:
Devuelven una respuesta nil
si el miembro especificado no existe.
Para agregar un nuevo miembro, simplemente use ZINCRBY
que actualizará el puntaje (es decir, la cantidad de elementos con el nombre del miembro) o creará un nuevo miembro si no existe.
Para resumir: Ordenado Establece o Hash Tables le permiten realizar todas las operaciones con sus requisitos con un solo comando.
+1 para MULTI-EXEC – maximus
@fritzy ¿sería posible elaborar más acerca de cómo implementar el SET/LIST o señalarme en alguna parte, gracias? –
Dado que tanto el LREM como el SREM son O (N), entonces es mejor no tener un conjunto separado (a menos que, por supuesto, planee eliminar todo el conjunto en lugar de elemento por elemento). –