Dostępne są różne polecenia do obsługi na sortowanych zestawach. Czasami musisz znać indeks lub ranga członka w zestawie sortowanym Redis przechowywanym w danym kluczu. Zrank jest idealnym poleceniem do użycia, które zostanie omówione w poniższej sekcji.
Polecenie Zrank
Teraz masz pojęcie o tym, jak wartość indeksu została przypisana do każdego członka w sortowanym zestawie. Polecenie Zrank otrzymuje stopień określonego elementu o liniowej złożoności czasowej. Poniżej znajduje się składnia dla polecenia Zrank:
Zrank Sorted_Set_Key Członek
sorted_set_key: Klucz posortowanego zestawu, do którego należy członek.
członek: Nazwa członka, którego potrzebujesz, aby uzyskać rangę.
To polecenie zwraca rangę lub indeks określonego elementu jako wartość liczb całkowitą, jeśli członek istnieje w sortowanym zestawie. Ilekroć określony element lub sortowany klucz nie istnieje, polecenie ZranK zwraca wartość ciągu zero.
Przypadek 01: Uzyskaj pozycję liderów gry gracza
Załóżmy, że dostaliśmy tablicę liderów gry online za pomocą zestawu sortowanego Redis. Teraz wyświetlimy rangę każdego gracza, gdy zaloguje się do profilu użytkownika.
Najpierw stwórzmy manekinową tablicę liderów, OnlineGameLeaderboard, i dodaj do niego graczy za pomocą polecenia Zadd.
Zadd OnlineGameLeaderboard 3000 „Jack” 1200 „Mary” 1000 ”Rikaz„ 5000 „Noel”
Następnie zadzwonimy do polecenia Zrange, aby sprawdzić, czy członkowie zostały poprawnie dodane.
Zrange OnlineGameLeaderboard 0 10 ZeS o
Wyjście:
Zgodnie z oczekiwaniami członkowie zostali posortowani w kolejności rosnącej według wartości wyników. Powiedzmy, że musimy uzyskać szeregi każdego z tych członków. Zrank można użyć jako następujące:
Zrank OnlineGameleaderboard Rikaz
Zrank OnlineGameleaderboard Mary
Zrank OnlineGameleaderboard Jack
Zrank OnlineGameleaderboard Noel
Wyjście:
Zgodnie z oczekiwaniami, ranga powróciła dla każdego członka, w którym członek „Rikaz” ma najniższą pozycję 0. Ponadto członek „Noel” uzyskał najwyższą pozycję 3.
Sprawdźmy, jak zachowuje się polecenie, jeśli podasz nieistniejący członek w następującym poleceniu:
Zrank OnlineGameleaderboard Martin
Członek, którego określiliśmy, nie jest w sortowanym zestawie. Stąd zwrócił ciąg zero.
Następnie sprawdzimy następujące polecenie dla nieistniejącego klucza:
Zrank Nonxistingkey Martin
Wartość zwracana jest znowu zerowa.
Polecenie Zrank nie obsługuje wielu członków jako argumentów. Stąd, jeśli zapewnisz wiele członków, spowoduje to błąd. Polecenie ZranK zaleca się użycie, gdy trzeba uzyskać wartość indeksu posortowanego elementu zestawu.
Krótko mówiąc, zestawy sortowane w Redis mogą pomieścić wartości łańcuchowe o nazwie elementy. Każdy z tych członków jest powiązany z dwiema nieruchomościami: wynik i rangą. Jak omówiono, ranga opiera się na 0 i zwiększona o jeden na członka. Zwykle członkowie zestawu sortowanego Redis są uporządkowani według ich wyników w kolejności rosnącej. Stąd członek o najniższym wyniku zostanie przypisany do indeksu 0.
W tym artykule omówiono, w jaki sposób polecenie ZranK pozwala uzyskać tę wartość indeksu danego członka w sortowanym zestawie zapisanym w danym kluczu. Należy zauważyć, że polecenie Zrank działa z liniową złożonością czasu.