Korzystanie z list w Redis

Korzystanie z list w Redis
Lista w Redis odnosi się do zbioru wartości ciągu, które są sortowane według zamówienia wstawiania. W Redis lista może pomieścić do 4 miliardów elementów. Redis używa koncepcji głowy i ogona do zarządzania listą, ponieważ omówimy w tym przewodniku.

Korzystając z tego przewodnika, dowiesz się, jak pracować z listami w Redis, w tym tworzenie, wstawienie i usuwanie wartości.

W tym przewodniku przetestowaliśmy wszystkie polecenia w najnowszej wersji Redis. Zalecamy zrobienie tego samego i korzystanie z Native Redis CLI. To zapewni maksymalną kompatybilność i pozwoli zobaczyć podobne wyniki do tych w tym przewodniku.

Podstawy - tworzenie listy w Redis

Tworzenie listy w Redis to nieco więcej niż tworzenie prostej pary klucza i wartości. Warto zauważyć, że klucz może pomieścić tylko jedną listę.

Jak wspomniano, Redis używa koncepcji głowy i ogona lub lewej i prawej do zarządzania listą.

Istnieją dwa sposoby dodawania elementów do listy:

  1. LPUSH
  2. Rpush

Polecenia LPUSH dodają określony nowy element do głowy listy (lub po lewej). Z drugiej strony polecenie rpush doda nowy element listy do ogona (lub prawego) określonej listy.

Używasz dwóch głównych poleceń, aby utworzyć nową listę lub dodać elementy do istniejącej listy.

Weźmy kilka przykładów.

Aby utworzyć prostą listę o nazwie bazy danych, możemy użyć polecenia:

127.0.0.1: 6379> bazy danych lpush MongoDB
(liczba całkowita) 1

Uwaga: możesz również użyć RPUSH do wykonania tej samej operacji.

Zarówno polecenia LPUSH, jak i RPUSH zwrócą wartość całkowitą wskazującą liczbę elementów na liście.

Weź następujące przykłady, aby dodać więcej elementów do listy.

127.0.0.1: 6379> bazy danych lpush MongoDB
127.0.0.1: 6379> bazy danych lpush redis
127.0.0.1: 6379> bazy danych rpush PostgreSQL
127.0.0.1: 6379> bazy danych rpush mysql
127.0.0.1: 6379> LPUSH BASEATAS CARKROACHDB
(liczba całkowita) 5

Możesz dodać wiele elementów do listy w jednym poleceniu. Na przykład możemy zastąpić powyższe polecenia jednym jako:

127.0.0.1: 6379> bazy danych lpush MongoDB Redis PostgreSql MySQLakdb
(liczba całkowita) 5

Ten sam przypadek dotyczy polecenia RPUSH.

Redis zapewnia również polecenia LPUSHX i RPUSHX. Są one używane podobnie do poleceń LPUSH i RPUSH; Nie mogą jednak utworzyć listy. Klucz musi istnieć przed wstawieniem elementów za pomocą poleceń LPUSHX i RPUSHX.

127.0.0.1: 6379> bazy danych RPUSHX Firestore
127.0.0.1: 6379> bazy danych LPUSHX MARIADB

Zaktualizuj element listy

Aby zmodyfikować wartość elementu na liście Redis, użyj polecenia LSet. Polecenie obejmuje listę, indeks starego elementu do aktualizacji i nowa wartość.

Na przykład, aby zmienić wartość elementu na indeksie 0, możemy zrobić:

127.0.0.1: 6379> bazy danych lset 0 sqlite
OK

Polecenie zwraca ciąg „OK”, jeśli polecenie ulega pomyślnie.

Pobieraj elementy z listy

Aby pobrać elementy z listy, użyj polecenia LRANGE. Polecenie wymaga indeksu początkowego i zatrzymania i zwraca wartości w określonym zakresie.

Na przykład:

127.0.0.1: 6379> bazy danych lrange 0 5
1) „sqlite”
2) „karachdb”
3) „mysql”
4) „Postgresql”
5) „Redis”
6) „MongoDB”

Możesz użyć zasięgu ujemnego. Na przykład -1 reprezentuje ostatni element na liście, a -4 reprezentuje czwarty do ostatniego elementu.

Przykład:

127.0.0.1: 6379> bazy danych lrange -4 -1
1) „PostgreSQL”
2) „Redis”
3) „MongoDB”
4) „Firestore

Jeśli chcesz uzyskać jeden element na liście, użyj polecenia LINDEX, a następnie docelowego indeksu elementu, aby uzyskać.

Na przykład:

127.0.0.1: 6379> Bazy danych Lindex 2
„Mysql”

Pamiętaj, że indeksowanie zaczyna się o 0.

Jeśli chcesz poznać liczbę elementów na liście, użyj polecenia LLEN.

127.0.0.1: 6379> bazy danych llen
(liczba całkowita) 7

Polecenie zwraca liczbę całkowitą reprezentującą liczbę elementów na liście.

Usuwanie elementów z listy

Jeśli chcesz usunąć element z listy, użyj polecenia LREM. Polecenie przyjmuje liczbę i wartość do usunięcia.

Polecenie domyślnie usunie pierwsze zdarzenie, dopasowując określony wzór.

127.0.0.1: 6379> bazy danych LREM 1 mysql

Możesz także użyć poleceń LPOP i RPOP do usuwania elementów z listy. Polecenia usuwają odpowiednio lewe i prawe elementy na liście.

127.0.0.1: 6379> Bazy danych LPOP
„Sqlite”
127.0.0.1: 6379> Bazy danych RPOP
„Firestore”

Obie polecenia usuwają i zwracają wartość usuniętego elementu.

Zamknięcie

Korzystając z tego przewodnika, nauczyłeś się pracować z listą w Redis. Możesz sprawdzić dokumentację, aby dowiedzieć się więcej o poleceń listy i ich działaniu.

Dziękuję za przeczytanie 🙂