Redis Zrank

Redis Zrank
Zestawy sortowane w Redis mogą pomieścić zbiór ciągów, w których każdy nazywa się członkiem zestawu. Każdy członek jest powiązany z wartością rangi i wyniku. Ranga jest indeksem konkretnego członka w sortowanym zestawie przechowywanym w danym kluczu. Wartość wyniku służy do zamówienia elementów zestawu od najniższej do najwyższej wartości. Stąd członek o najniższej wartości wyniku zostanie przypisany do indeksu 0. Te właściwości pozwalają sortowane zestawy wykonywać znacznie więcej zadań z wysoką wydajnością.

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.

Wniosek

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.