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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow