Ricerca…


introduzione

La connessione a Redis in Python richiede l'uso di una libreria client. Esistono molte librerie client diverse per Python, ma redis-py è uno dei client più popolari in uso.

Una volta installata la libreria client, è possibile accedere a Redis nell'applicazione importando il modulo appropriato, stabilendo una connessione e quindi eseguendo un comando.

Osservazioni

Per connetterti su redis con python devi installare un client . Puoi installare con pip usando:

pip install redis

questo installerà redis-py

Facoltativamente, è possibile installare hiredis-py che deleghi l'analisi dei messaggi di protocollo al client C hiredis. Ciò può fornire un significativo miglioramento delle prestazioni in molte situazioni. È possibile installare hiredis con pip eseguendo:

pip install hiredis

Aggiungi un elemento alla lista

import redis

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

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

Aggiunta di campi a un hash

Ci sono due funzioni principali in Redis (HSET e HMSET) per aggiungere campi a una chiave hash. Entrambe le funzioni sono disponibili in redis-py.

Utilizzo di HSET:

import redis

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

Utilizzando HMSET:

import redis

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

Impostazione di una connessione a Redis

Il client redis-py fornisce due classi StrictRedis e Redis per stabilire una connessione di base a un database Redis. La classe Redis viene fornita per la compatibilità con le versioni precedenti e i nuovi progetti devono utilizzare la classe StrictRedis .

Uno dei modi consigliati per stabilire una connessione consiste nel definire i parametri di connessione in un dizionario e passare il dizionario al costruttore StrictRedis utilizzando la sintassi ** .

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

r = redis.StrictRedis(**config)

Creare una transazione

È possibile stabilire una transazione chiamando il metodo pipeline su StrictRedis . I comandi redis eseguiti contro la transazione vengono eseguiti in un unico blocco.

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

Esecuzione diretta dei comandi

Redis-py fornisce il metodo execute_command per richiamare direttamente le operazioni Redis. Questa funzionalità può essere utilizzata per accedere a tutti i moduli che potrebbero non avere un'interfaccia supportata nel client redis-py. Ad esempio, è possibile utilizzare execute_command per elencare tutti i moduli caricati in un server Redis:

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow