Redis srem

Redis srem
"Si su próxima aplicación web busca una forma de almacenar una colección de cadenas sin duplicados, los conjuntos de Redis son la estructura de datos. Los conjuntos de Redis pueden contener más de cuatro mil millones de miembros de tipo de cadena, que son más que suficientes en casos de uso prácticos. Varios comandos preconstruidos están disponibles para realizar operaciones básicas a avanzadas en conjuntos como adición, eliminación, verificación de existencia, etc. Lo más importante de las operaciones de conjunto básicas como agregar y eliminar es que tienen complejidad de tiempo constante."

Comando Redis SREM

El comando Redis SREM se usa para eliminar elementos de un conjunto almacenado en una clave especificada. De la versión 2.4.0, este comando admite eliminar múltiples miembros simultáneamente. Las validaciones están en su lugar para los siguientes escenarios.

Especificar miembros inexistentes

Si un miembro especificado no es parte del conjunto dado, ese miembro será omitido.

Especificando la clave inexistente

Siempre que la clave no esté disponible, el comando SREM devolverá 0. En ese caso, el comando srem trata ese conjunto no existente como un conjunto vacío.

Sintaxis:

El comando SREM tiene una sintaxis muy simple, como se muestra en lo siguiente.

SREM REDIS_KEY Miembro [Miembro ...]

Redis_Key: El identificador único donde se almacena el conjunto.

miembro: El miembro que se eliminará de la lista. Opcionalmente, puede especificar varios miembros.

El comando SREM devuelve un valor entero que es el recuento de los miembros eliminado con éxito. Como ejemplo, si se eliminaran tres miembros del conjunto, el valor de regreso sería 3.

Además, si especifica una clave que apunta a un hash o lista pero no a un conjunto. En tal caso, el comando SREM aumentaría un error.

Ejemplo 01: elimine un miembro del conjunto

Supongamos que vamos a almacenar a los mejores fanáticos de su sitio web personal en función del nivel de interactividad cada mes. Dado que los conjuntos mantienen miembros no duplicados, podemos asegurar que el mismo usuario no se agregará varias veces.

Usaremos el comando SADD para agregar los 5 ventiladores principales en enero al set almacenado en Key Topfans: enero.

Sadd Topfans: Jankonson Jacknelson Tinamaddy Joshinglish Eoinmorgan Derekharns

Inspeccionemos el Topfans: enero establecer usando el comando smembers.

Smembers Topfans: enero

Producción:

Debido al comportamiento poco ético del miembro "Tinamaddy", obtuvimos el requisito de sacarla del set. Ahora el comando srem es el candidato ideal para hacer esto.

Srem Topfans: enero Tinamaddy

Como se esperaba, la salida es 1, lo que significa que se ha eliminado un miembro. Inspeccionemos los miembros existentes en el set también.

Smembers Topfans: enero

Como se muestra en la salida anterior, el miembro "Tinamaddy" ha salido de la lista.

Ejemplo 02: elimine varios miembros simultáneamente

En algunos escenarios, es posible que necesitemos eliminar más de un miembro de un conjunto. Por lo tanto, el comando SREM admite múltiples argumentos de los miembros. Digamos que necesitamos eliminar a los miembros "Jacknelson" y "Joshinglish". El siguiente comando haría eso por ti.

SREM Topfans: Janson Jacknelson Joshinglish

El comando devolvió el entero 2, lo que significa que se han eliminado dos miembros.

Lo importante a notar es que el comando srem consume tiempo constante en ambos escenarios. Por lo tanto, se recomienda usar en aplicaciones de baja latencia.

Conclusión

Para resumir, el comando SREM funciona en estructuras de datos establecidas. Su trabajo principal es eliminar un elemento de un conjunto almacenado en una clave especificada. Al igual que los comandos de Sadd y Sismember, el comando SREM tiene una complejidad de tiempo constante en la que el número de elementos no entrará en vigencia en el tiempo de ejecución del comando SREM. Como se indicó, de la versión 2 de Redis.4.0, el comando SREM permite múltiples argumentos de miembros. Por lo tanto, puede eliminar varios miembros de una lista dada simultáneamente. Tras la ejecución de este comando, devuelve un valor entero que es el número de elementos eliminados con éxito de la lista. En general, el comando SREM es un candidato ideal para usar en aplicaciones de baja latencia.