Consulta Redis de Python

Consulta Redis de Python
El servidor de diccionario remoto, o redis para abreviar, es una base de datos gratuita de código abierto en memoria. Redis es una base de datos NoSQL de subproceso único que está creada para un alto rendimiento y baja latencia entre lecturas y escritos de datos. Utiliza pares de valor clave para almacenar los datos.

Aunque los datos se almacenan en la memoria del sistema, puede agregar persistencia tirando los datos almacenados al disco y cargándolos cuando sea necesario.

En esta guía, le presentaremos conceptos clave en Redis y le mostraremos cómo usar Redis con el lenguaje de programación de Python.

Instalación de Redis

El primer paso es configurar las herramientas de desarrollo. En esta guía, utilizaremos un sistema Debian 11 Linux.

Abra la terminal y agregue los repositorios oficiales de Redis como:

actualización de sudo apt-get
sudo apt -get instalación curl gnupg -y
curl https: // paquetes.rehacer.IO/GPG | sudo apt-key agregar -
echo "Deb https: // paquetes.rehacer.io/Deb $ (lsb_release -cs) principal "| Sudo Tee/etc/apt/fuentes.lista.D/Redis.lista
actualización de sudo apt-get
sudo apt -get install redis -y

Una vez que haya instalado Redis, inicie el servidor usando el comando.

servidor de redis

También puede usar SystemCTL para iniciar el servidor Redis utilizando el comando como se muestra a continuación:

SUDO SERVICIO REDIS-SERVER Start

Conceptos básicos de Redis

Antes de sumergirse en el uso de Python para trabajar con una base de datos Redis, primero recapitulemos cómo usar Redis usando la interfaz de línea de comandos.

Conectándose al clúster.

Una vez que el servidor Redis se esté ejecutando, abra una nueva sesión de terminal e ingrese el cliente de línea de comandos Redis como:

$ Redis-Cli
127.0.0.1: 6379>

Una vez que ejecute el comando redis-cli, debe obtener un mensaje que muestre una dirección IP y el puerto al servidor Redis.

Cambiar "bases de datos"

Redis no funciona como una base de datos relacional típica. Sin embargo, contiene un concepto de bases de datos que son colecciones aisladas de pares de valor clave. A diferencia de una base de datos en bases de datos relacionales, en Redis, una base de datos no tiene esquemas, tablas o filas.

En Redis, utilizamos valores de índice como 0 para acceder a la primera base de datos. Redis no proporciona nombres personalizados como sample_database según lo dispuesto en bases de datos tradicionales.

Para seleccionar una base de datos específica, use el comando Seleccionar seguido del índice de la base de datos para acceder a ella.

Por ejemplo, para seleccionar la base de datos 10.

127.0.0.1: 6379 [1]> Seleccione 9
DE ACUERDO

Nota: Los índices de bases de datos en Redis comienzan de 0 a 15. Si intenta acceder a un índice superior a 16, saldrá de un error de rango.

127.0.0.1: 6379 [15]> Seleccione 16
(Error) Err DB El índice está fuera de rango

Configuración de valores

Como mencionamos, Redis utiliza notación de valor clave para almacenar los datos. Puede agregar nuevos datos utilizando el comando set y la clave y los valores separados por un espacio.

Por ejemplo:

Establecer el nombre "John"
DE ACUERDO

Si el comando Redis se ejecuta correctamente, debería ver un [OK].

Es bueno asegurarse de proporcionar tanto la clave como el valor en el comando set. De lo contrario, obtendrá un número incorrecto de errores de argumentos como se muestra:

127.0.0.1: 6379 [15]> Establecer novalue
(Error) Error número incorrecto de argumentos para el comando 'establecer'

Obtener valores

Puede obtener valores almacenados en el servidor redis utilizando el comando get y el nombre de la clave. Por ejemplo, para obtener el valor del "nombre" clave que podemos hacer:

Obtener un nombre
"John"

Asegúrese de que exista la clave especificada en el servidor. Si especifica una clave inexistente, obtendrá un resultado nulo como:

No pasar
(nulo)

Eliminar las llaves

En Redis, puede eliminar una clave y sus datos relacionados utilizando el comando Del y el nombre de la clave.

Por ejemplo:

Del nombre
(entero) 1

Usar Python para trabajar con Redis

Aunque puede crear su biblioteca para trabajar con Redis, una práctica común es utilizar herramientas ya disponibles para realizar tales tareas.

Puede navegar por el catálogo de clientes de Redis para buscar una biblioteca apropiada.

https: // redis.io/clientes#python

En este ejemplo, utilizaremos redis-py, ya que se mantiene activamente y es fácil de instalar y usar.

Instalación de Python 3

Antes de continuar, asegúrese de tener Python instalado en su sistema. Abra el terminal e ingrese el comando:

Python3 -Versión
-Bash: Python: Comando no encontrado

Si obtiene un error de "comando no encontrado", debe instalar python.

Use los comandos:

Actualización de sudo apto
sudo apto install python3.9

Los comandos anteriores actualizarán los repositorios de software e instalarán Python versión 3.9. Una vez completado, asegúrese de tener la versión correcta de Python.

Python3 -Versión
Python 3.9.2

Instalar pip

Para instalar el paquete Redis-Py, debemos asegurarnos de tener PIP instalado. Abra el terminal e ingrese el comando:

sudo apt-get install python3-pip

Instalación de Redis-Py

Una vez que haya instalado PIP3, ingrese el comando a continuación para instalar el paquete Redis-Py.

sudo pip3 install redis

Usando el paquete Redis-Py.

Para ilustrar cómo trabajar con Redis usando el paquete Python, replicaremos las operaciones en la sección Basics de Redis.

Comencemos conectándonos a Redis.

Cree un archivo Python y agregue el código que se muestra a continuación para conectarse al clúster Redis.

importación redis
# Crear conexión al clúster Redis
R = Redis.Redis (host = 'localhost', puerto = 6379)

Una vez que tenemos una conexión con el servidor, podemos comenzar a realizar operaciones.

Nota: El archivo se conectará a una base de datos en el índice 0. Puede especificar su índice de destino estableciendo el parámetro DB como:

R = Redis.Redis (host = 'localhost', puerto = 6379, db = 10)

El ejemplo anterior se conectará a la base de datos en el índice 10.

Para crear un par de valor clave usando el paquete Python, puede hacer:

riñonal.set ("Nombre", "John Doe")

La línea anterior tomará los primeros argumentos como clave y valor, respectivamente.

Para obtener los valores, use la función Get como:

riñonal.Get ("Nombre")
nombre de impresión

La consulta anterior devolverá el valor en la clave especificada como un valor codificado:

B'John Doe '

Puede usar la función de decodificación para decodificar el valor.

Imprimir (nombre.descodificar())
John Doe

Para eliminar una clave y sus datos correspondientes, use la función Eliminar como se muestra:

riñonal.eliminar ("nombre")

Si obtiene el valor almacenado en una clave eliminada, Python devolverá un valor de ninguno.

Conclusión

En este artículo, nos sumergimos profundamente en trabajar con la base de datos Redis. Redis es poderoso y puede ser esencial en entornos de alto rendimiento. Consulte la documentación para aprender a trabajar con el paquete Redis y Redis-Py.