Redis®*: Validaciones técnicas

Esta documentación forma parte de la guía Clasificar usuarios en tiempo real. Consulte la guía completa aquí: Aprenda a clasificar 2 millones de usuarios por puntuación en tiempo real usando Redis.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución Redis cloud lista para usar que proporciona una serie de beneficios, incluyendo:

  • Interfaz web Redis Commander incluida.
  • Tamaño y transferencias de mensajes ilimitados.
  • Actualizaciones sin esfuerzo con solo un clic.
  • Rendimiento óptimo y seguridad robusta gracias a una VM privada y dedicada.

Ahorra tiempo y simplifica tu vida: ¡solo toma 5 minutos probar la solución de alojamiento Redis cloud de Stackhero!

Los sorted sets combinan una clave y una puntuación. En nuestro caso, la clave es el ID del usuario y la puntuación representa los puntos del usuario.

Comenzamos lanzando un servicio Redis en Stackhero. El servicio está operativo en solo 2 minutos con la última versión estable, ofrece facturación por hora y cuenta con Redis Commander, una práctica interfaz web. Validamos el concepto usando esta interfaz.

Agregamos tres usuarios con IDs y puntuaciones de ejemplo como se muestra a continuación:

| Nombre de usuario | Puntuación | | - | - | | userId1 | 11 | | userId2 | 54 | | userId3 | 24 |

Estos usuarios fueron añadidos a un sorted set llamado usersScores usando los siguientes comandos de Redis:

ZADD usersScores 11 "userId1"
ZADD usersScores 54 "userId2"
ZADD usersScores 24 "userId3"

Redis Commander, la interfaz web proporcionada en Stackhero con instancias de RedisRedis Commander, la interfaz web proporcionada en Stackhero con instancias de Redis

A continuación, recuperamos la puntuación de userId1:

ZSCORE usersScores "userId1"
> 11

Esto confirmó que la puntuación para userId1 era efectivamente 11. Después de eso, verificamos el rango de userId1:

ZREVRANK usersScores "userId1"
> 2

Recuerde, la clasificación comienza en 0. Esto significa que las clasificaciones son las siguientes:

| Nombre de usuario | Puntuación | Rango | | - | - | - | | userId1 | 11 | 2 | | userId2 | 54 | 0 | | userId3 | 24 | 1 |

El comando ZREVRANK devolvió 2, que es exactamente lo que esperábamos para userId1.

También puede obtener las entradas principales. Por ejemplo, para recuperar los primeros 2 usuarios (del rango 0 al rango 1) ejecute:

ZREVRANGE usersScores 0 1 WITHSCORES
> 1) userId2
> 2) 54
> 3) userId3
> 4) 24

Para obtener los 100 mejores usuarios simplemente ejecute:

ZREVRANGE usersScores 0 99 WITHSCORES

Este enfoque es eficiente y perfectamente adecuado para la clasificación en tiempo real de alto rendimiento.