Els conjunts ordenats (sorted sets) són una estructura de dades poderosa i flexible en Redis que combina les característiques dels conjunts (sets) i les llistes ordenades. Cada element en un conjunt ordenat està associat amb un valor de puntuació (score), que determina l'ordre dels elements dins del conjunt.
Conceptes Clau
- Element: Un membre del conjunt ordenat.
- Puntuació (Score): Un valor numèric associat a cada element que determina la seva posició en l'ordre.
- Rang: La posició d'un element dins del conjunt ordenat, basada en la seva puntuació.
Comandes Bàsiques
Afegir Elements
Per afegir elements a un conjunt ordenat, utilitzem la comanda ZADD
.
Aquesta comanda crea un conjunt ordenat anomenat myzset
amb tres elements, cadascun amb una puntuació específica.
Obtenir Elements
Per obtenir elements d'un conjunt ordenat, podem utilitzar diverses comandes:
- ZRANGE: Retorna els elements dins d'un rang de posicions.
Aquesta comanda retorna tots els elements del conjunt ordenat myzset
.
- ZRANGEBYSCORE: Retorna els elements dins d'un rang de puntuacions.
Aquesta comanda retorna els elements amb puntuacions entre 1 i 2.
Obtenir la Puntuació d'un Element
Per obtenir la puntuació d'un element específic, utilitzem la comanda ZSCORE
.
Aquesta comanda retorna la puntuació de element1
dins del conjunt ordenat myzset
.
Eliminar Elements
Per eliminar elements d'un conjunt ordenat, utilitzem la comanda ZREM
.
Aquesta comanda elimina element1
del conjunt ordenat myzset
.
Exemples Pràctics
Exemple 1: Classificació de Jugadors
Suposem que estem desenvolupant un joc i volem mantenir una classificació dels jugadors basada en els seus punts.
Per obtenir els jugadors ordenats per puntuació:
Exemple 2: Sistema de Reputació
Podem utilitzar conjunts ordenats per implementar un sistema de reputació on els usuaris guanyen o perden punts.
Per augmentar la reputació d'un usuari:
Exercicis Pràctics
Exercici 1: Crear un Conjunt Ordenat
-
Crea un conjunt ordenat anomenat
students
amb els següents elements i puntuacions:- "Alice" amb puntuació 85
- "Bob" amb puntuació 90
- "Charlie" amb puntuació 80
-
Obté tots els elements del conjunt ordenat
students
.
Solució
Exercici 2: Actualitzar Puntuacions
- Augmenta la puntuació de "Alice" en 5 punts.
- Obté la nova puntuació de "Alice".
Solució
Errors Comuns i Consells
-
Error: Afegir elements sense puntuació.
- Solució: Assegura't d'incloure una puntuació per a cada element quan utilitzis
ZADD
.
- Solució: Assegura't d'incloure una puntuació per a cada element quan utilitzis
-
Error: Utilitzar comandes de conjunts ordenats en conjunts no ordenats.
- Solució: Verifica que estàs treballant amb la estructura de dades correcta abans d'executar les comandes.
Conclusió
Els conjunts ordenats són una eina molt útil en Redis per gestionar col·leccions d'elements amb puntuacions associades. Amb les comandes adequades, podem afegir, obtenir, i manipular elements de manera eficient. En el proper mòdul, explorarem comandes i operacions avançades de Redis per aprofundir encara més en les capacitats d'aquesta base de dades.
Curs de Redis
Mòdul 1: Introducció a Redis
Mòdul 2: Estructures de Dades de Redis
Mòdul 3: Comandes i Operacions de Redis
Mòdul 4: Persistència de Redis
- Instantànies (RDB)
- Fitxers Només de Afegeix (AOF)
- Configuració de la Persistència
- Còpia de Seguretat i Restauració
Mòdul 5: Seguretat de Redis
Mòdul 6: Optimització del Rendiment de Redis
Mòdul 7: Clúster i Alta Disponibilitat de Redis
Mòdul 8: Mòduls i Extensions de Redis
- Introducció als Mòduls de Redis
- Mòduls Populars de Redis
- Creant Mòduls Personalitzats
- Utilitzant Redis amb Altres Tecnologies