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 Commanderincluida.- 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 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.