Szukaj…


Wprowadzenie

Łączenie się z Redis w Pythonie wymaga użycia biblioteki klienta. Istnieje wiele różnych bibliotek klienta dla Pythona, ale redis-py jest jednym z najpopularniejszych używanych klientów.

Po zainstalowaniu biblioteki klienta można uzyskać dostęp do Redis w aplikacji, importując odpowiedni moduł, nawiązując połączenie, a następnie wykonując polecenie.

Uwagi

Aby połączyć się z Redis za pomocą Pythona, musisz zainstalować klienta . Możesz zainstalować za pomocą pipa, używając:

pip install redis

to zainstaluje redis-py

Opcjonalnie możesz zainstalować hiredis-py, który przekazuje parsowanie komunikatów protokołu klientowi C. hiredis. Może to zapewnić znaczną poprawę wydajności w wielu sytuacjach. Możesz zainstalować hiredis z pipem, wykonując:

pip install hiredis

Dodaj element do listy

import redis

r = redis.StrictRedis(host='localhost', port=6379, db=0)

r.lpush('myqueue','myelement')

Dodawanie pól do skrótu

Istnieją dwie główne funkcje w Redis (HSET i HMSET) do dodawania pól do klucza skrótu. Obie funkcje są dostępne w wersji redis-py.

Za pomocą HSET:

import redis

r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hset('my_key', 'field0', 'value0')

Korzystanie z HMSET:

import redis

r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hmset('my_key', {'field0': 'value0', 'field1':'value1', 'field2':'value2'}

Konfigurowanie połączenia z Redis

Klient redis-py udostępnia dwie klasy StrictRedis i Redis celu ustanowienia podstawowego połączenia z bazą danych Redis. Klasa Redis zapewnia kompatybilność wsteczną, a nowe projekty powinny korzystać z klasy StrictRedis .

Jednym z zalecanych sposobów ustanowienia połączenia jest zdefiniowanie parametrów połączenia w słowniku i przekazanie słownika do konstruktora StrictRedis przy użyciu składni ** .

conn_params = {
    "host": "myredis.somedomain.com",
    "port": 6379,
    "password": "sekret",
    "db": 0
}

r = redis.StrictRedis(**config)

Tworzenie transakcji

Możesz ustanowić transakcję, wywołując metodę pipeline na StrictRedis . Polecenia Redis wykonane dla transakcji są wykonywane w jednym bloku.

# defaults to transaction=True 
tx = r.pipeline()
tx.hincrbyfloat(debit_account_key, 'balance', -amount)
tx.hincrbyfloat(credit_account_key, 'balance', amount)
tx.execute()

Wykonywanie poleceń bezpośrednio

Redis-py zapewnia metodę execute_command do bezpośredniego wywoływania operacji Redis. Z tej funkcji można uzyskać dostęp do modułów, które mogą nie mieć obsługiwanego interfejsu w kliencie redis-py. Na przykład możesz użyć polecenia execute_command aby wyświetlić listę wszystkich modułów załadowanych na serwer Redis:

r.execute_command('MODULE', 'LIST')


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow