Redis es una base de datos en memoria, de estructura de datos clave-valor, que se utiliza ampliamente para caching, almacenamiento de sesiones y otras aplicaciones que requieren alta velocidad y rendimiento.
A diferencia de las bases de datos tradicionales basadas en disco, Redis almacena toda la información en la memoria RAM, proporcionando acceso ultrarrápido a los datos.
Redis es conocido por su bajo tiempo de latencia y alto rendimiento, haciéndolo ideal para proyectos de domótica, desarrollo de aplicaciones web y sistemas distribuidos en la Raspberry Pi.
Algunas de sus características principales son,
- Persistencia: Aunque es una base de datos en memoria, Redis puede persistir datos en disco mediante snapshots o logs de transacciones.
- Replicación: Soporta replicación maestro-esclavo y creación de clústeres.
- Pub/Sub: Permite la comunicación entre procesos mediante un modelo de publicación-suscripción.
- Atomicidad: Ofrece operaciones atómicas y transacciones para garantizar la integridad de los datos.
Instalación de Redis en Raspberry Pi
Antes de empezar la instalación, nos aseguramos de que el sistema esté actualizado. Ejecutamos los siguientes comandos para actualizar nuestro sistema:
sudo apt update
sudo apt upgrade
Ahora podemos instalar Redis desde los repositorios oficiales. Redis está disponible en los repositorios de Debian, por lo que la instalación es bastante sencilla. Simplemente ejecutamos el siguiente comando para instalar Redis:
sudo apt install redis-server
Iniciar y habilitar el servicio de Redis
Redis se inicia automáticamente después de la instalación. Para asegurarte de que el servicio está corriendo, utiliza el siguiente comando:
sudo systemctl status redis-server
Para iniciar o reiniciar Redis, puedes usar los siguientes comandos:
sudo systemctl start redis-server
sudo systemctl restart redis-server
Además, habilita el servicio para que se inicie automáticamente en el arranque:
sudo systemctl enable redis-server
Configuración básica de Redis
Redis se configura principalmente a través de su archivo de configuración, ubicado en /etc/redis/redis.conf
. Puedes modificar este archivo para ajustar la configuración de Redis según tus necesidades.
Por defecto, Redis se ejecuta en el puerto 6379 y escucha solo en la interfaz local (localhost). Puedes cambiar la configuración de red, persistencia y seguridad modificando el archivo de configuración.
Para editar el archivo de configuración, utiliza el editor nano
:
sudo nano /etc/redis/redis.conf
Después de realizar cambios en el archivo de configuración, guarda y cierra el archivo.redis
Algunas configuraciones comunes que podrías ajustar incluyen:
Configuración | Descripción | Valor por defecto |
---|---|---|
port | Puerto en el que Redis escucha conexiones. | 6379 |
bind | Dirección IP a la que Redis está vinculado. | 127.0.0.1 |
requirepass | Contraseña requerida para autenticar clientes. | (vacío) |
maxmemory | Cantidad máxima de memoria que Redis puede usar. | (sin límite) |
maxmemory-policy | Política a seguir cuando se alcanza el límite de memoria. | noeviction |
save | Frecuencia con la que Redis realiza una copia de seguridad (RDB). | 900 1, 300 10, 60 10000 |
appendonly | Habilita el modo de persistencia AOF (Append Only File). | no |
appendfilename | Nombre del archivo AOF. | appendonly.aof |
appendfsync | Frecuencia de sincronización del archivo AOF con el disco. | everysec |
loglevel | Nivel de detalle de los mensajes de log. | notice |
logfile | Archivo en el que se guardan los logs. | (vacío) |
databases | Número de bases de datos en Redis. | 16 |
client-output-buffer-limit | Límite de tamaño de buffer de salida para los clientes. | (por defecto) |
timeout | Tiempo de inactividad en segundos tras el cual se desconecta un cliente. | 0 |
tcp-keepalive | Intervalo para enviar paquetes TCP KEEPALIVE. | 300 |
protected-mode | Modo de protección para evitar accesos no deseados a Redis. | yes |
slaveof | Configuración de un nodo como esclavo de otro nodo Redis (para replicación). | (vacío) |
masterauth | Contraseña para la autenticación cuando se configura la replicación. | (vacío) |
requirepass | Contraseña que se necesita para acceder a Redis. | (vacío) |
Estas son solo algunas de las configuraciones más comunes. El archivo redis.conf
contiene muchas más opciones que puedes ajustar según las necesidades específicas de tu entorno y casos de uso.
Probar la instalación de Redis
Para verificar que Redis está funcionando correctamente, puedes usar la herramienta de línea de comandos redis-cli
para conectarte al servidor Redis:
redis-cli
Dentro del CLI de Redis, puedes probar comandos básicos como PING
para verificar la conectividad:
127.0.0.1:6379> PING
PONG
También puedes realizar operaciones básicas, como almacenar y recuperar valores:
127.0.0.1:6379> SET mykey "luisllamas_es!"
OK
127.0.0.1:6379> GET mykey
"luisllamas_es!"
Redis también proporciona muchas otras funciones útiles, como listas, conjuntos, hashes, etc. Estas funciones se pueden utilizar para almacenar y recuperar datos de manera eficiente.