Redis Zrem

Redis Zrem

Redis Set Set miembros

Los conjuntos clasificados de Redis almacenan elementos únicos de manera ordenada. Por lo tanto, se puede usar en aplicaciones de baja latencia, como colas prioritarias, tablas de clasificación en tiempo real, indexación secundaria, etc. A cada uno de estos elementos establecidos se le asigna un rango y se coloca en orden ascendente basado en el valor de puntaje. Hay varios comandos disponibles para agregar, actualizar y eliminar los miembros del conjunto ordenado de manera eficiente. Lo más importante de los conjuntos clasificados es que después de la adición o eliminación de un miembro establecido, todavía logra mantener las rangos y el orden de los miembros.


La figura anterior muestra el escenario de eliminación del elemento establecido Redis y cómo se comporta cuando se eliminan varios miembros de él. Logra mantener el orden correcto y los valores del índice colocando a cada miembro en consecuencia. En la siguiente sección, investigaremos el conjunto ordenado eliminar la operación de manera detallada.

Eliminar miembros con el comando zrem

El comando ZREM se usa para eliminar uno o más miembros de un conjunto ordenado almacenado en una clave especificada. Este comando tiene complejidad del tiempo logarítmico. Si el comando se usa para eliminar un elemento, entonces la complejidad del tiempo es proporcional al valor logarítmico del número de elementos. Si se han especificado múltiples elementos para eliminar, entonces será O (number_of_elements_to_remove* log (total_number_of_set_elements)))).

Sintaxis

ZREM SATED_SET_KEY miembro [Miembro ...]


sorted_set_key: Este es el identificador único donde se almacena el conjunto ordenado en.
miembro: Este se supone que se supone que se eliminará.

El comando ZREM eliminará a los miembros especificados del conjunto ordenado. Devolverá una respuesta entera que es el número de miembros eliminados. Siempre que especifique un miembro inexistente, se saltará. Además, el comando arrojará un error si la tecla dada no contiene un conjunto ordenado.

Ejemplo: Administrar la cola de pedidos del cliente con Redis Zrem

Tomemos un escenario del mundo real donde un restaurante sirve a sus clientes en función de los primeros ingresos asignados con la más alta prioridad. Al servir primero a los clientes de la más alta prioridad, el restaurante debe eliminar cada entrada de cliente de la cola. El conjunto ordenado de redis será una estructura de datos ideal para implementar este escenario de manera efectiva y eficiente.
Cada miembro del set clasificado Redis parece el siguiente.


Como se muestra en la ilustración anterior, cada vez que un cliente ha sido atendido por el restaurante, ese miembro debe ser retirado del set ordenado. Podemos usar el comando zrem para lograrlo.

Agregamos los cuatro clientes que se muestran en la figura anterior. Usaremos el comando ZADD para crear el conjunto ordenado Clientequía y agregue cuatro miembros, como se muestra en el siguiente.

ZADD Customerqueue 1 Cliente: 10
ZADD Customerqueue 9 Cliente: 1
ZADD Customerqueue 7 Cliente: 6
ZADD Customerqueue 5 Cliente: 2



Inspeccionemos el conjunto ordenado usando el comando zRange.

ZRange CustomerQueue 0 10 WithScores


Producción:


Como se esperaba, el set de cliente clasificado se ha ordenado en función del valor de prioridad.

Eliminar un miembro del conjunto ordenado

El Cliente: 10 quien tiene la más alta prioridad recibirá primero. Por lo tanto, la Cliente: 10 Los miembros deben ser retirados del conjunto ordenado. Usemos el comando zrem para eliminar el miembro.

Cliente de Cliente de Zrem: 10


Producción:


Como se esperaba, el valor de retorno es 1, lo que significa que se ha eliminado una entrada. Inspeccionemos el Clientequía de nuevo.


El miembro Cliente: 10 ha sido eliminado con éxito.

Eliminar múltiples miembros del conjunto ordenado

Digamos ambos Cliente: 2 y Cliente: 6 han sido atendidos desde dos ventanas paralelas. Por lo tanto, debemos eliminar a ambos miembros del conjunto ordenado. Podemos usar el comando ZREM para eliminar a ambos miembros a la vez.

ZREM Customerqueue Cliente: 2 Cliente: 6


Producción:


Como se esperaba, el valor de retorno es 2, lo que indica que se han eliminado dos miembros. Inspeccionemos todo el set ordenado nuevamente.


Se recomienda usar el comando ZREM siempre que necesite eliminar elementos de un conjunto ordenado.

Conclusión

Para resumir, el comando ZREM se usa para eliminar uno o múltiples elementos de un conjunto ordenado redis almacenado en una clave dada. Simplemente elimina los miembros especificados del conjunto ordenado. Además, el pedido se mantendrá en el conjunto ordenado resultante. Como se indicó anteriormente, tiene una complejidad del tiempo logarítmico que hace que el comando se utilice en aplicaciones en tiempo real. Por lo tanto, se recomienda usar el comando ZREM siempre que necesite eliminar elementos de un conjunto ordenado.