To może być późna odpowiedź, ale trzymam ją tutaj na wypadek, gdyby ktoś nadal potrzebował tej funkcji.
Krótka odpowiedź
ltrim mylist 0 - (n + 1), gdzie mylist to klucz, a n to długość mylisty.
Długa odpowiedź
Sposób działania ltrim polega na tym, że pobiera dwa indeksy i zwraca elementy, które znajdują się między nimi, włącznie z indeksami.
Lista Ltrim startIndex endIndex
Przykład zakładając, że mamy listę redis z listą kluczy zawierającą 10 wpisów:
ltrim mylist 0 5 obetnie listę do elementów zaczynających się od indeksu 0 do indeksu 5. I odrzuci te, które wykraczają poza ten zakres.
Na szczęście operacje na listach redis obsługują indeksowanie ujemne, co jest niezwykle przydatne w niektórych sytuacjach. Zwykle, gdy nie znasz długości listy.
-1 oznacza ostatni element, - 2 przedostatni element itd. A (-n) jest pierwszym elementem.
Indeksy poza zakresem nie są szkodliwe. Jeśli indeks końcowy jest większy niż długość listy, redis traktuje go jako równy ostatniemu indeksowi.
Dlatego ltrim mylist 0, - (n +1) czyści listę. Dzieje się tak, ponieważ (-n) jest równoważne indeksowi 0. Dodanie 1 do niego nie pozostawia żadnego elementu w tym zakresie, ponieważ będzie to przed pierwszym elementem.