redis
Ansluter till redis med Python
Sök…
Introduktion
Att ansluta till Redis i Python kräver användning av ett klientbibliotek. Många olika klientbibliotek finns för Python, men redis-py är en av de mest populära klienterna som används.
När du installerar ditt klientbibliotek kan du sedan komma åt Redis i din applikation genom att importera lämplig modul, upprätta en anslutning och sedan köra ett kommando.
Anmärkningar
För att ansluta på nytt med python måste du installera en klient . Du kan installera med pip med:
pip install redis
detta kommer att installera redis-py
Eventuellt kanske du vill installera hiredis-py som delegerar parsing av protokollmeddelanden till C hiredis-klienten. Detta kan ge betydande prestandaförbättringar i många situationer. Du kan installera hiredis med pip genom att utföra:
pip install hiredis
Lägg till element i listan
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.lpush('myqueue','myelement')
Lägga till fält till en Hash
Det finns två huvudfunktioner i Redis (HSET och HMSET) för att lägga till fält till en hash-tangent. Båda funktionerna finns i redis-py.
Använda HSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hset('my_key', 'field0', 'value0')
Använda HMSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hmset('my_key', {'field0': 'value0', 'field1':'value1', 'field2':'value2'}
Ställa in en anslutning till Redis
Redis-py- klienten tillhandahåller två klasser StrictRedis
och Redis
att upprätta en grundläggande anslutning till en Redis-databas. Redis
klassen tillhandahålls för bakåtkompatibilitet och nya projekt bör använda StrictRedis
klassen.
Ett av de rekommenderade sätten att upprätta en anslutning är att definiera anslutningsparametrarna i en ordlista och skicka ordboken till StrictRedis
konstruktorn med hjälp av **
-syntaxen.
conn_params = {
"host": "myredis.somedomain.com",
"port": 6379,
"password": "sekret",
"db": 0
}
r = redis.StrictRedis(**config)
Skapa en transaktion
Du kan upprätta en transaktion genom att ringa pipeline
metoden på StrictRedis
. Redis-kommandon som utförs mot transaktionen utförs i ett enda block.
# defaults to transaction=True
tx = r.pipeline()
tx.hincrbyfloat(debit_account_key, 'balance', -amount)
tx.hincrbyfloat(credit_account_key, 'balance', amount)
tx.execute()
Utför kommandon direkt
Redis-py tillhandahåller execute_command
metoden för att direkt åberopa Redis-operationer. Denna funktionalitet kan användas för att komma åt alla moduler som kanske inte har ett stött gränssnitt i redis-py-klienten. Du kan till exempel använda execute_command
att lista alla moduler som laddats till en Redis-server:
r.execute_command('MODULE', 'LIST')