Zapytanie Redis z Pythona

Zapytanie Redis z Pythona
W skrócie zdalny serwer słownika, czyli Redis, to bezpłatna baza danych w pamięci typu open source. Redis to jednoduszna baza danych NoSQL, która jest zbudowana do wysokowydajnej i niskiej opóźnień między odczytami danych i zapisami. Używa par kluczowych do przechowywania danych.

Chociaż dane są przechowywane w pamięci systemu, możesz dodać trwałość, zrzucając zapisane dane na dysku i ładując je w razie potrzeby.

W tym przewodniku przedstawimy Ci kluczowe pojęcia w Redis i pokażemy, jak używać Redis z językiem programowania Python.

Instalowanie Redis

Pierwszym krokiem jest skonfigurowanie narzędzi programistycznych. W tym przewodniku będziemy używać systemu Linux Debian 11.

Otwórz terminal i dodaj oficjalne repozytoria Redis jako:

Sudo apt-get Aktualizacja
sudo apt -get install curl gnupg -y
curl https: // pakiety.Redis.IO/GPG | sudo apt-key add -
echo "deb https: // pakiety.Redis.IO/Deb $ (LSB_RELEASE -CS) Main "| sudo tee/etc/apt/źródła.lista.D/Redis.lista
Sudo apt-get Aktualizacja
sudo apt -get install Redis -y

Po zainstalowaniu Redis uruchom serwer za pomocą polecenia.

Redis-serwer

Możesz także użyć SystemCTL, aby uruchomić serwer Redis za pomocą polecenia, jak pokazano poniżej:

Sudo Service Redis-Server Start

Podstawy Redis

Przed zanurzeniem się w użyciu Pythona do pracy z bazą danych Redis, najpierw podsumujmy, jak używać Redis za pomocą interfejsu wiersza poleceń.

Łączenie z klastrem.

Po uruchomieniu serwera Redis otwórz nową sesję terminalu i wprowadź klienta linii polecenia Redis jako:

$ redis-cli
127.0.0.1: 6379>

Po uruchomieniu polecenia REDIS-CLI powinieneś uzyskać monit pokazujący adres IP i port na serwerze Redis.

Przełączanie „baz danych”

Redis nie działa jak typowa relacyjna baza danych. Zawiera jednak koncepcję baz danych, które są izolowanymi kolekcjami par kluczowych. W przeciwieństwie do bazy danych w relacyjnych bazach danych, w Redis baza danych nie ma schematów, tabel ani wierszy.

W Redis używamy wartości indeksu, takich jak 0, aby uzyskać dostęp do pierwszej bazy danych. Redis nie zapewnia niestandardowych nazewnictw, takich jak próbka_databaza, jak dostarczona w tradycyjnych bazach danych.

Aby wybrać określoną bazę danych, użyj polecenia Wybierz, a następnie indeks bazy danych, aby uzyskać do niego dostęp.

Na przykład, aby wybrać bazę danych 10.

127.0.0.1: 6379 [1]> Wybierz 9
OK

Uwaga: indeksy bazy danych w Redis zaczynają od 0 do 15. Jeśli spróbujesz uzyskać dostęp do indeksu powyżej 16, wyjdziesz z błędu z zakresu.

127.0.0.1: 6379 [15]> Wybierz 16
(błąd) indeks ERR DB jest poza zasięgiem

Ustawienie wartości

Jak wspomnialiśmy, Redis używa notacji wartości kluczowej do przechowywania danych. Możesz dodać nowe dane za pomocą polecenia SET oraz klucz i wartości oddzielone przestrzenią.

Na przykład:

Ustaw nazwę „John”
OK

Jeśli polecenie Redis uda się skutecznie, powinieneś zobaczyć [OK].

Dobrze jest zapewnić zarówno klucz, jak i wartość w poleceniu Set. W przeciwnym razie otrzymasz niewłaściwy numer argumentów, jak pokazano:

127.0.0.1: 6379 [15]> Ustaw Novalue
(błąd) błąd niewłaściwy liczba argumentów dla polecenia „ustaw”

Pobieranie wartości

Możesz pobierać wartości przechowywane na serwerze Redis za pomocą polecenia GET i nazwy kluczowej. Na przykład, aby uzyskać wartość kluczowego „nazwy”, którą możemy zrobić:

Uzyskaj nazwę
"Jan"

Upewnij się, że na serwerze istnieje określony klucz. Jeśli określisz nieistniejący klucz, otrzymasz zerowy wynik jako:

Nie zdobądź
(zero)

Usuwanie kluczy

W Redis możesz usunąć klucz i jego powiązane dane, używając polecenia Del i nazwy klucza.

Na przykład:

Del Nazwa
(liczba całkowita) 1

Używanie Pythona do pracy z Redis

Chociaż możesz stworzyć bibliotekę do pracy z Redis, powszechną praktyką jest użycie już dostępnych narzędzi do wykonywania takich zadań.

Możesz przeglądać katalog klientów Redis, aby wyszukać odpowiednią bibliotekę.

https: // redis.IO/Klienci#Python

W tym przykładzie użyjemy Redis-PY, ponieważ jest aktywnie utrzymywany i łatwy w instalacji i użyciu.

Instalowanie Python 3

Przed kontynuowaniem upewnij się, że w systemie zainstalowałeś Python. Otwórz terminal i wprowadź polecenie:

Python3 --version
-Bash: Python: nie znaleziono polecenia

Jeśli otrzymasz błąd „Nie znaleziono polecenia”, musisz zainstalować Python.

Użyj poleceń:

Aktualizacja sudo apt
sudo apt instal Python3.9

Powyższe polecenia zaktualizują repozytoria oprogramowania i zainstalują Python w wersji 3.9. Po zakończeniu upewnij się, że masz odpowiednią wersję Python.

Python3 --version
Python 3.9.2

Zainstaluj PIP

Aby zainstalować pakiet Redis-PY, musimy upewnić się, że mamy zainstalowany PIP. Otwórz terminal i wprowadź polecenie:

sudo apt-get instal Python3-Pip

Instalowanie Redis-py

Po zainstalowaniu PIP3 wprowadź poniższe polecenie, aby zainstalować pakiet Redis-Py.

sudo pip3 instaluj redis

Za pomocą pakietu Redis-py.

Aby zilustrować, jak pracować z Redis przy użyciu pakietu Pythona, powtórzymy operacje w sekcji Basics Redis.

Zacznijmy od połączenia się z Redis.

Utwórz plik Pythona i dodaj poniższy kod, aby połączyć się z klastrem Redis.

Import Redis
# Utwórz połączenie z klastrem Redis
r = redis.Redis (host = „localhost”, port = 6379)

Po połączeniu z serwerem możemy zacząć wykonywać operacje.

Uwaga: plik połączy się z bazą danych przy indeksie 0. Możesz określić swój indeks docelowy, ustawiając parametr DB jako:

r = redis.Redis (host = „localhost”, port = 6379, db = 10)

Powyższy przykład połączy się z bazą danych przy indeksie 10.

Aby utworzyć parę wartości kluczowej za pomocą pakietu Python, możesz zrobić:

R.set („Nazwa”, „John Doe”)

Powyższy wiersz przyjmie pierwsze argumenty odpowiednio jako klucz i wartość.

Aby pobrać wartości, użyj funkcji GET jako:

R.Get („Nazwa”)
Nazwa wydruku

Powyższe zapytanie zwróci wartość w określonym kluczu jako kodowaną wartość:

b'John Doe '

Możesz użyć funkcji dekodowania do dekodowania wartości.

Nazwa wydruku.rozszyfrować())
nieznany z nazwiska

Aby usunąć klucz i odpowiednie dane, użyj funkcji Usuń, jak pokazano:

R.Usuń („Nazwa”)

Jeśli otrzymasz wartość przechowywaną w usuniętym kluczu, Python zwróci wartość Brak.

Wniosek

W tym artykule zanurzamy się głęboko w pracy z bazą danych Redis. Redis jest potężny i może być niezbędny w środowiskach o wysokiej wydajności. Sprawdź dokumentację, aby dowiedzieć się, jak pracować z pakietem Redis i Redis-Py.