Redis Zrank

Redis Zrank
I set ordinati Redis possono contenere una raccolta di stringhe in cui ciascuno è chiamato membro del set. Ogni membro è associato a un valore di rango e punteggio. Il grado è l'indice di un particolare membro nel set ordinato memorizzato in una determinata chiave. Il valore del punteggio viene utilizzato per ordinare i membri del set dal valore del punteggio più basso al più alto. Quindi, un membro con il valore del punteggio più basso verrà assegnato a un indice di 0. Queste proprietà consentono a set ordinati di svolgere molte più attività con prestazioni elevate.

Sono disponibili vari comandi per operare su set ordinati. A volte, devi conoscere l'indice o il grado di un membro nel set ordinato Redis memorizzato in una determinata chiave. Zrank è il comando ideale da usare, che sarà discusso nella sezione seguente.

Il comando zrank

Ora, hai un'idea di come il valore dell'indice è stato assegnato a ciascun membro in un set ordinato. Il comando Zrank ottiene il grado di un membro specificato con complessità del tempo lineare. Quanto segue è la sintassi per il comando zrank:

Zrank Sorted_Set_Key Membro

Sorted_set_key: La chiave del set ordinato a cui appartiene il membro.

membro: Il nome del membro necessario per ottenere il grado.

Questo comando restituisce il rango o l'indice del membro specificato come valore intero se il membro esiste nel set ordinato. Ogni volta che non esiste il membro specificato o il tasto set ordinato, il comando zrank restituisce un valore di stringa zero.

Caso 01: Ottieni la posizione della classifica di un giocatore

Supponiamo che abbiamo implementato una classifica di gioco online utilizzando il set ordinato Redis. Ora visualizzeremo il grado di ogni giocatore quando accederanno al proprio profilo utente.

Innanzitutto, creiamo una classifica fittizia, OnlineGameleaderboard, e aggiungi giocatori ad esso usando il comando ZADD.

ZADD OnlineGameleaderboard 3000 "Jack" 1200 "Mary" 1000 "Rikaz" 5000 "Noel"

Successivamente, chiameremo il comando zrange per verificare se i membri sono stati aggiunti correttamente.

zrange onlinegameleaderboard 0 10 withscores

Produzione:

Come previsto, i membri sono stati ordinati in ordine crescente dai loro valori di punteggio. Diciamo che dobbiamo ottenere ciascuno dei ranghi di questi membri. Lo zrank può essere usato come segue:

Zrank OnlineGameleaderboard Rikaz
zrank onlinegameleaderboard Mary
zrank onlinegameleaderboard jack
zrank onlinegameleaderboard Noel

Produzione:

Come previsto, il grado è tornato per ciascun membro in cui il membro "Rikaz" ha il grado più basso di 0. Inoltre, il membro "Noel" ha ottenuto il grado più alto di 3.

Controlliamo come si comporta il comando se si specifica un membro inesistente nel comando seguente:

Zrank OnlineEleaderboard Martin

Il membro che abbiamo specificato non è nel set ordinato. Quindi, ha restituito la stringa zero.

Successivamente, controlleremo il seguente comando per la chiave inesistente:

Zrank nonxistingkey Martin

Il valore di ritorno è di nuovo zero.

Il comando zrank non supporta più membri come argomenti. Quindi, se fornisci più membri, lancerà un errore. Si consiglia il comando zrank per l'uso quando è necessario ottenere il valore dell'indice di un membro set ordinato.

In breve, i set ordinati Redis possono contenere valori di stringa chiamati membri. Ognuno di questi membri è associato a due proprietà: punteggio e rango. Come discusso, il rango si basa su 0 e incrementato da uno per membro. Di solito, i membri del set ordinato Redis sono ordinati dai loro punteggi in ordine crescente. Quindi, il membro con il punteggio più basso verrà assegnato al 0 ° indice.

Conclusione

Questo articolo ha discusso di come il comando zrank consente di ottenere questo valore indice per un determinato membro nel set ordinato memorizzato in una determinata chiave. È importante notare che il comando zrank opera con complessità del tempo lineare.