Los comandos Zrevrange y ZRange son capaces de recuperar miembros entre un rango especificado de índices de un conjunto ordenado almacenado en una clave dada. Estos comandos aceptan los valores de índice positivos y negativos al consultar a los miembros de un rango dado. En esta guía, nos centraremos en el comando Zrevrange y su uso práctico."
Comando Redis Zrevrange
El comando ZrevRange se usa para consultar a los miembros entre los valores de índice mínimo y máximo especificados de un conjunto ordenado almacenado en una clave dada. Los miembros son devueltos en orden descendente en función de su valor de puntaje. Siempre que los múltiples miembros tengan el mismo puntaje, los elementos se ordenarán lexicográficamente.
Sintaxis
ZrevRange sorted_set_key start_index end_index [withscores]sorted_set_key: Esta es la identificación única que identifica el conjunto ordenado en el almacén de datos de Redis
Índice de comienzo: El índice inicial del rango especificado
end_index: El índice final del rango especificado
[WithScores]: Este es un argumento opcional cuando los miembros especificados serán devueltos con sus puntajes.
El comando devolverá una matriz de miembros almacenados entre el rango de índice especificado. Si el Conscores Se ha especificado el argumento, los puntajes se incluirán en la salida.
Ejemplo: devuelva a los jugadores que han completado la mayor cantidad de niveles en un juego en línea
Supongamos que un juego comunitario en línea donde cada jugador se clasifica en función del número de niveles completados. Al final de cada semana, los tres mejores jugadores obtienen regalos de bonificación. Por lo tanto, necesitamos consultar a los 3 mejores jugadores que hayan completado la mayor cantidad de niveles en el juego. Podemos asignar el número de niveles completados como la puntuación de un miembro almacenado en un conjunto ordenado.
Primero, agregaremos algunos jugadores a un set ordenado llamado Tablero de gameleader.
Zadd GameLeaderboard 4 Player: 1En el ejemplo anterior, Jugador 1 ha completado 4 niveles, Jugador: 5 ha completado 10 niveles, y así sucesivamente. La información anterior sobre un jugador se ha asignado a un conjunto ordenado, como se muestra en el siguiente.
Usemos el comando Zrevrange para consultar a todos los miembros cuyo recuento de niveles completos es más alto y va a la parte superior de la lista.
Zrevrange Gameleaderboard 0 4Como en la ilustración anterior, los índices de conjunto ordenados se extienden de 0 a 4. Por lo tanto, especificamos los índices de inicio y finalización como 0 y 4, respectivamente, lo que idealmente debería devolver a todos los miembros que pertenecen al conjunto ordenado identificado por la clave GameLeaderboard AS puedes ver, ha ordenado a los miembros de una manera que la mayoría de los jugadores tengan la mayor cantidad de niveles completos en el juego.
Los miembros de la consulta con sus puntajes
El comando zRange se puede usar con el argumento opcional WithScores para mostrar los valores de puntaje de cada jugador en el ejemplo anterior.
Producción
Miembros de la consulta a partir del final del set ordenado
En todos los ejemplos anteriores, hemos utilizado el índice basado en 0 que cuenta desde el inicio del conjunto ordenado. Podemos especificar el rango de índice a partir del final del conjunto ordenado también. Digamos que necesitamos consultar a los jugadores cuyos puntajes son los más bajos utilizando el comando Zrevrange.
En este caso, el índice final se ha especificado como -1, lo que significa el último elemento. El índice de inicio es -3. Por lo tanto, consultará a los miembros hasta el tercer miembro desde el final del set ordenado. Esto es muy claro si usa la figura anterior, que muestra cómo los índices se pueden usar en ambos sentidos.
El comando zrange en lugar de zrevrange
El comando Zrevrange se ha desaprobado de la versión 6 de Redis.2.0. Por lo tanto, se recomienda utilizar el comando ZRange con el argumento de revoluciones opcional, que se comporta lo mismo que el comando ZrevRange.
Conclusión
Para resumir, el comando Zrevrange se usa para consultar a los miembros entre un índice mínimo y máximo especificado de un conjunto ordenado Redis almacenado en una clave dada. Recupera a los miembros almacenados entre los valores de índice especificados en orden inverso. Además del ordenamiento invertido de los miembros, este comando se comporta de manera similar al comando zrange. Como se indicó anteriormente, tiene una complejidad del tiempo logarítmico que hace que el comando sea bastante rápido de usar en aplicaciones en tiempo real de manera eficiente. Por lo tanto, el comando Zrevrange es ideal para usar siempre que necesite recuperar elementos en orden descendente de un conjunto ordenado.