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')