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.