redis
Conectando a redis usando Python
Buscar..
Introducción
Conectarse a Redis en Python requiere el uso de una biblioteca cliente. Existen muchas bibliotecas de clientes diferentes para Python, pero redis-py es uno de los clientes más populares en uso.
Una vez que instale su biblioteca cliente, puede acceder a Redis en su aplicación importando el módulo apropiado, estableciendo una conexión y luego ejecutando un comando.
Observaciones
Para conectarse en redis con python necesita instalar un cliente . Se puede instalar con pip usando:
pip install redis
esto instalará redis-py
Opcionalmente, es posible que desee instalar hiredis-py que delegue el análisis de los mensajes de protocolo al cliente de C hiredis. Esto puede proporcionar una mejora significativa del rendimiento en muchas situaciones. Puedes instalar hiredis con pip ejecutando:
pip install hiredis
Añadir elemento a la lista
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.lpush('myqueue','myelement')
Añadiendo campos a un hash
Hay dos funciones principales en Redis (HSET y HMSET) para agregar campos a una clave de hash. Ambas funciones están disponibles en redis-py.
Utilizando HSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hset('my_key', 'field0', 'value0')
Utilizando HMSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hmset('my_key', {'field0': 'value0', 'field1':'value1', 'field2':'value2'}
Configuración de una conexión a Redis
El cliente redis-py proporciona dos clases StrictRedis
y Redis
para establecer una conexión básica a una base de datos Redis. La clase Redis
se proporciona para la compatibilidad con versiones anteriores y los nuevos proyectos deben usar la clase StrictRedis
.
Una de las formas recomendadas para establecer una conexión, es definir los parámetros de conexión en un diccionario y pasar el diccionario al constructor StrictRedis
usando la sintaxis **
.
conn_params = {
"host": "myredis.somedomain.com",
"port": 6379,
"password": "sekret",
"db": 0
}
r = redis.StrictRedis(**config)
Creando una transacción
Puede establecer una transacción llamando al método de pipeline
en StrictRedis
. Los comandos redis ejecutados contra la transacción se realizan en un solo bloque.
# defaults to transaction=True
tx = r.pipeline()
tx.hincrbyfloat(debit_account_key, 'balance', -amount)
tx.hincrbyfloat(credit_account_key, 'balance', amount)
tx.execute()
Ejecutando Comandos Directamente
Redis-py proporciona el método execute_command
para invocar directamente las operaciones de Redis. Esta funcionalidad se puede usar para acceder a cualquier módulo que no tenga una interfaz compatible en el cliente redis-py. Por ejemplo, puede usar el execute_command
para enumerar todos los módulos cargados en un servidor Redis:
r.execute_command('MODULE', 'LIST')