Redis LPO

Redis LPO

„Listy Redis są połączonymi listami ciągów uporządkowanych w sekwencji. Operacje listy Redis są niezwykle skuteczne, ponieważ działają ze stałą złożonością czasu na głowie lub ogonie. Redis jest unikalny wśród sklepów kluczowych, ponieważ pozwala na połączone listy, co czyni go strukturą listy powiązanej. Maksymalna długość listy Redis wynosi 2^32 - 1 (4 294 967 295) elementów, które zawierają ponad 4 miliard elementów na listę."

Powyższy schemat przedstawia rozmieszczenie elementów listy Redis i w formacie indeksu, który odgrywa istotną rolę podczas korzystania z polecenia LPOS.

Krótki przegląd polecenia LPOS

Polecenie LPOS w Redis zwraca wskaźnik dopasowania elementów na liście. Ponadto polecenie LPOS skanuje listę z pierwszego indeksu do ostatniego indeksu, aż do znalezienia elementu dopasowania dla określonego elementu. Gdy znaleziono określony element listy, wskaźnik elementu jest zwracany. Specjalny ZERO Wartość powróci, gdy nie zostanie znalezione dopasowanie.

Szybki przegląd składni polecenia LPOS

LPOS LIST_KEY LIST_ELEMENT [RANK RANK] [Count Num-Matches] [Maxlen Długość]

Argumenty w nawiasach kwadratowych są opcjonalne. Normalnym zachowaniem polecenia LPOS jest zwrócenie indeksu pierwszego wystąpienia określonego elementu, gdy nie są podane opcjonalne argumenty.

RANGA Opcja służy do określenia, która instancja wartości zwrócić i może być przydatna, gdy lista składa się z wielu wystąpień o tej samej wartości.

LICZYĆ Opcja zwraca pozycję wielu instancji określonego elementu listy.

Maxlen Opcja służy do ograniczenia porównań do określonej kwoty. Ponadto pomaga ograniczyć czas, jaki polecenie, które polega na wykonaniu, zwłaszcza gdy jest to duża lista, a podczas oczekiwania na dopasowanie zostanie znalezione wcześnie.

Polecenie LPO w akcji

Tworzenie listy Redis o nazwie „Nazwy” za pomocą rpush, aby zademonstrować polecenie LPOS w następujący sposób:

Rpush nazywa „Jenny” „Leon” „Nick” „Jenny” „Heron” „Jenny” „Elle” „Heron”

Wynik

Sprawdzanie wyjścia listy za pośrednictwem poniższego polecenia:

Nazwy lrange 0 -1

Wynik

Korzystanie z polecenia LPOS, aby znaleźć pierwszą instancję „Jenny” w następujący sposób:

LPO nazywają „Jenny”

Wynik

Jak wspomniano, gdy nie określono żadnych opcjonalnych argumentów, polecenie LPO zwraca pierwsze występowanie elementu.

Opcja rang

Ta opcja określa instancję wartości do zwrócenia i jest przydatna, gdy lista zawiera wiele wystąpień wartości identycznej.

Utworzona lista zawiera wiele wystąpień Przędzarka I Czapla. We wcześniejszym przykładzie, ponieważ opcja rang nie została określona, ​​pierwsza instancja elementu została zwrócona jako wyjście.

Korzystanie z opcji rangi, aby zwrócić pozycję drugiej instancji Przędzarka Korzystanie z poniższego przykładu:

LPO nazywają „Jenny” ranga 2

Wynik

Tutaj RANGA Opcja jest określona jako 2. Tak więc polecenie LPO zwraca pozycję drugiej instancji podanego elementu listy, który wynosi 3. Jeśli opcja rangi jest podana jako 1, powinna zwrócić pierwszą instancję określonego elementu; Jeżeli 2 jest dostarczone, wyświetla indeks drugiej instancji; 3 tworzy indeks trzeciej instancji i tak dalej.

Jeśli ranga jest określona wyższa niż liczba wystąpień, zwraca zero:

LPO nazywają „Jenny” ranking 20

Wynik

Ponadto opcję rangi może być używana jako ranga ujemna, w której działa wstecz od ogona listy:

LPO nazywają „Jenny” ranga -1

Wynik

Tutaj, -1 służy do zwrotu pozycji ostatniego wystąpienia wartości. W takim przypadku pozycja „Jenny” jest piątym indeksem.

Opcja zliczania

Ta opcja służy do zwrócenia pozycji wielu instancji określonej wartości lub elementu:

LPO imiona „Jenny” hrabia 2

Wynik

Również tę opcję można wykorzystać do zwrotu pozycji wszystkich instancji. Tutaj osoba może użyć zero (0), aby poinformować polecenie, aby zwrócić wszystkie dopasowania zgodnie z koniecznością:

LPO nazwy „Jenny” hrabia 0

Wynik

Opcję Count można połączyć z opcją rangi, aby zwrócić wszystkie wystąpienia z określonego punktu w następujący sposób:

LPO Nazwa „Jenny” ranga 2 hrabia 0

Wynik

Opcja Maxlen

Maxlen służy do ograniczenia porównań do określonej kwoty i jest przydatny do ograniczenia czasu, jaki polecenie podejmuje do przetworzenia w czasach, gdy lista jest duża, a osoba musi wcześnie znaleźć dopasowanie.

Na przykład,

LPO nazywają „Jenny” Maxlen 2

Wynik

Tutaj, gdy zostanie znaleziony mecz, zwraca pozycję lub wskaźnik danego elementu.

Podczas korzystania z innej wartości:

LPO nazywają „Elle” Maxlen 2

Wynik

Zgodnie z oczekiwaniami element „Elle” nie znajduje się w określonej maksymalnej limicie 2.

Ponadto osoba może użyć zero (0), aby określić nieograniczoną liczbę porównań,

LPO Nazwa „Elle” Maxlen 0

Wynik

Wniosek

Podsumowując, polecenie LPOS odgrywa główną rolę w strukturach danych Redis List podczas zwracania indeksu pasujących elementów na liście. Polecenie LPO przyjmuje różne argumenty, które rozszerzają zachowanie polecenia. Ogólnie rzecz biorąc, działa stale w pobliżu głowy i ogona lub podano opcję Maxlena, co jest wysoce wydajne.