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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow