redis
Verbindung zu Redis mit Python herstellen
Suche…
Einführung
Die Verbindung zu Redis in Python erfordert die Verwendung einer Clientbibliothek. Es gibt viele verschiedene Client-Bibliotheken für Python, aber Redis-py ist einer der beliebtesten Clients.
Wenn Sie Ihre Client-Bibliothek installiert haben, können Sie in Ihrer Anwendung auf Redis zugreifen, indem Sie das entsprechende Modul importieren, eine Verbindung herstellen und dann einen Befehl ausführen.
Bemerkungen
Um eine Verbindung zu Redis mit Python herzustellen, müssen Sie einen Client installieren. Sie können mit pip installieren:
pip install redis
Dies wird Redis-py installieren
Optional können Sie Hiredis-py installieren, das die Analyse von Protokollnachrichten an den Client von C hiredis delegiert. Dies kann in vielen Situationen zu einer erheblichen Leistungsverbesserung führen. Sie können Hiredis mit Pip installieren, indem Sie Folgendes ausführen:
pip install hiredis
Element zur Liste hinzufügen
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.lpush('myqueue','myelement')
Felder zu einem Hash hinzufügen
In Redis (HSET und HMSET) gibt es zwei Hauptfunktionen, um einem Hash-Schlüssel Felder hinzuzufügen. Beide Funktionen sind in redis-py verfügbar.
Verwendung von HSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hset('my_key', 'field0', 'value0')
Verwendung von HMSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hmset('my_key', {'field0': 'value0', 'field1':'value1', 'field2':'value2'}
Einrichten einer Verbindung zu Redis
Der Redis-py- Client stellt zwei Klassen StrictRedis
und Redis
zur Verfügung, um eine grundlegende Verbindung zu einer Redis-Datenbank herzustellen. Die Redis
Klasse wird aus StrictRedis
der StrictRedis
bereitgestellt. Neue Projekte sollten die StrictRedis
Klasse verwenden.
Eine der empfohlenen Methoden zum Herstellen einer Verbindung besteht darin, die Verbindungsparameter in einem Wörterbuch zu definieren und das Wörterbuch mithilfe der **
StrictRedis
an den StrictRedis
Konstruktor zu übergeben.
conn_params = {
"host": "myredis.somedomain.com",
"port": 6379,
"password": "sekret",
"db": 0
}
r = redis.StrictRedis(**config)
Transaktion anlegen
Sie können eine Transaktion einrichten, indem Sie die pipeline
Methode für StrictRedis
. Redis-Befehle, die für die Transaktion ausgeführt werden, werden in einem einzigen Block ausgeführt.
# defaults to transaction=True
tx = r.pipeline()
tx.hincrbyfloat(debit_account_key, 'balance', -amount)
tx.hincrbyfloat(credit_account_key, 'balance', amount)
tx.execute()
Befehle direkt ausführen
Redis-py stellt die Methode execute_command
zum direkten Aufrufen von Redis-Operationen execute_command
. Diese Funktion kann für den Zugriff auf alle Module verwendet werden, die möglicherweise keine unterstützte Schnittstelle im Redis-Py-Client haben. Zum Beispiel können Sie mit dem execute_command
alle auf einen Redis-Server geladenen Module execute_command
:
r.execute_command('MODULE', 'LIST')