Redis es un potente almacén de estructuras de datos en memoria ampliamente utilizado como base de datos, caché y intermediario de mensajes. Conocido por su alto rendimiento y versatilidad, Redis admite varias estructuras de datos como cadenas, hashes, listas, conjuntos y más, lo que lo convierte en una opción popular para aplicaciones que requieren acceso rápido a datos y análisis en tiempo real.
En Ubuntu 24.04, 22.04 o 20.04, Redis se puede instalar mediante dos métodos principales. El primer método es a través del repositorio predeterminado de Ubuntu, que proporciona una versión estable que está bien integrada con la administración de paquetes del sistema. Alternativamente, para los usuarios que requieren la última versión con las funciones y actualizaciones más recientes, Redis se puede instalar utilizando el repositorio espejo de Redis APT. Esta guía lo guiará a través de ambos métodos de instalación y lo ayudará a elegir el mejor enfoque para sus necesidades.
Método 1: instalar Redis a través del repositorio predeterminado de APT
Actualice Ubuntu antes de la instalación de Redis
Antes de instalar Redis, es esencial asegurarse de que los paquetes de su sistema estén actualizados. Este paso ayuda a evitar cualquier conflicto que pueda surgir durante el proceso de instalación. Para actualizar su sistema Ubuntu, ejecute el siguiente comando:
sudo apt update && sudo apt upgrade
Este comando obtendrá la información más reciente del paquete de los repositorios y actualizará cualquier paquete obsoleto en su sistema.
Instale Redis mediante el comando APT
De forma predeterminada, el paquete Redis está incluido en el repositorio de Ubuntu, que puedes instalar con el siguiente comando:
sudo apt install redis
Este comando descargará e instalará el paquete Redis y sus dependencias en su sistema.
Verificar la instalación de Redis
Ahora que ha instalado Redis, verificar la instalación es crucial, ya que necesita verificar la versión instalada. Este paso garantiza que Redis se haya instalado correctamente y funcione como se esperaba.
Para verificar la instalación de Redis, ejecute el siguiente comando:
redis-cli --version
Este comando mostrará la versión de Redis instalada en su sistema. Si el resultado muestra la versión de Redis, confirma que la instalación se realizó correctamente.
Método 2: instalar Redis a través de Redis.io APT PPA
Actualice Ubuntu antes de la instalación de Redis con Redis.io
Antes de continuar con la instalación de Redis, actualice los paquetes de su sistema para garantizar la compatibilidad y evitar conflictos:
sudo apt update && sudo apt upgrade
Instalar paquetes iniciales para Redis.io PPA
Para completar la instalación, debe instalar algunos paquetes de software de requisitos previos. Ejecute el siguiente comando para instalarlos:
sudo apt install software-properties-common apt-transport-https curl ca-certificates curl -y
Estos paquetes son necesarios para agregar el repositorio de Redis.io y recuperar de forma segura la información del paquete.
Importar el repositorio APT de Redis.io
Primero, importe la clave GPG para autenticar los paquetes:
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
A continuación, agregue el repositorio Redis.io a su sistema:
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
Actualizar la lista de paquetes después de la importación de PPA de Redis.io
Actualice su lista de fuentes para incluir el repositorio Redis.io recién agregado:
sudo apt update
Finalice la instalación de Redis PPA mediante el comando de terminal
Ahora puede instalar Redis desde el repositorio de Redis.io. Si ya tienes Redis instalado, este comando lo actualizará:
sudo apt install redis-server redis-tools
Verificación de la instalación de Redis
Para asegurarse de haber instalado la versión de Redis.io, utilice el comando de política apt-cache:
apt-cache policy redis-server
Verifique que el resultado indique la versión correcta.
A continuación, habilite e inicie el servicio Redis:
sudo systemctl enable redis-server --now
Verifique el estado del servicio Redis y asegúrese de que se esté ejecutando sin errores:
systemctl status redis-server
Redis debería estar escuchando activamente en localhost en el puerto predeterminado 6379. Para confirmar esto, ejecute el siguiente comando:
ps -ef | grep redis
Salida de ejemplo:
redis 4171 1 0 23:35 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
joshua 4702 4691 0 23:36 pts/0 00:00:00 grep --color=auto redis
Probar la conexión de Redis
Para probar su instalación de Redis, conéctese al servicio de Redis usando el comando redis-cli:
redis-cli
Una vez conectado, su terminal mostrará 127.0.0.1:6379. Realice una prueba de ping para garantizar una comunicación adecuada con el servicio Redis:
ping
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
La salida debe ser "PONG", lo que indica una conexión exitosa. Para salir de la instancia de Redis, escriba:
exit
¡Felicidades! Ha instalado correctamente Redis en su sistema y ha verificado que está operativo. Ahora puede proceder a configurar Redis según sea necesario.
Resumen rápido sobre la configuración de Redis
Redis es una herramienta versátil que se puede configurar de varias maneras para adaptarse a diferentes casos de uso. Esta sección lo guiará a través de la configuración de Redis para almacenamiento en caché, acceso a la red y configuración de una contraseña para mayor seguridad.
Edite el archivo de configuración de Redis
Para comenzar a configurar Redis, abra el archivo /etc/redis/redis.conf usando el editor nano:
sudo nano /etc/redis.conf
Configurar la memoria máxima para Redis
Una de las principales razones por las que la gente usa Redis es para fines de almacenamiento en caché. Para asignar una cantidad específica de memoria para el almacenamiento en caché de Redis, agregue las siguientes líneas al final del archivo de configuración:
maxmemory 500mb
maxmemory-policy allkeys-lru
En este ejemplo, hemos dedicado 500 MB de memoria a Redis. Puede ajustar este valor según los requisitos de aplicación y hardware de su servidor. Una vez que se agota la memoria asignada, Redis eliminará las claves según el algoritmo menos utilizado recientemente (LRU).
Configurar el acceso a la red para Redis
De forma predeterminada, Redis solo escucha la interfaz del host local. Puede configurarlo para escuchar en todas las interfaces de red o direcciones IP/subredes específicas.
Primero, ubique la línea 69 en el archivo de configuración.
Opción 1: escuchar en todas las interfaces de red
Para escuchar en todas las interfaces de red, comente la línea "bind" agregando un #
al principio:
# bind 127.0.0.1 ::1
Opción 2: vincularse a una dirección IP o subred específica
Para vincular Redis a una dirección IP o subred específica, reemplace la línea "vincular" con la IP o subred deseada:
bind 0.0.0.0/0
o
bind 192.150.5.0/24
Nota: Al vincular Redis a una dirección IP o subred, se recomienda encarecidamente establecer una contraseña para mayor seguridad.
Configurar contraseña para Redis
Para proteger aún más su instancia de Redis, establezca una contraseña para la autenticación.
Busque la línea que comienza con # requirepass (alrededor de la línea 507), descomentela y establezca una contraseña segura:
requirepass YourStrongPasswordHere
Reemplace YourStrongPasswordHere con una contraseña sólida que contenga una combinación de letras mayúsculas, minúsculas, números y símbolos especiales.
Después de configurar una contraseña, deberá usar el comando auth con la contraseña cuando se conecte a Redis usando redis-cli:
redis-cli
auth YourStrongPasswordHere
Los usuarios que no se autentiquen recibirán un mensaje de error: (error) NOAUTH Se requiere autenticación. Tras una autenticación exitosa, los usuarios verán un mensaje OK.
Guarde los cambios y reinicie Redis
Después de realizar los cambios necesarios en el archivo de configuración, guarde los cambios presionando Ctrl + O y luego salga del editor nano presionando Ctrl + X. Finalmente, reinicie el servicio Redis para aplicar la nueva configuración:
Configurar reglas de firewall de Redis UFW
Al utilizar Redis, especialmente si lo ha configurado para escuchar en subredes o direcciones IP específicas, es fundamental asegurarse de que su firewall permita conexiones entrantes en el puerto TCP 6379. Esta sección analizará la configuración de reglas UFW (Firewall sin complicaciones) para permitir conexiones de Redis.
Asegúrese de que UFW esté instalado y habilitado
Primero, asegúrese de que UFW esté instalado en su sistema:
sudo apt install ufw -y
A continuación, habilite UFW si aún no lo está:
sudo ufw enable
Crear reglas UFW para Redis
Dependiendo de sus requisitos y la configuración de la red, es posible que necesite crear reglas para una única instancia de servidor o varias instancias en un clúster.
Opción 1: permitir el acceso desde una dirección IP específica
Si necesita permitir el acceso a Redis desde un único servidor, cree una regla UFW para esa dirección IP específica:
sudo ufw allow proto tcp from <ip address> to any port 6379
Reemplazar con la dirección IP apropiada.
Opción 2: permitir el acceso desde una subred
Si tiene una red de clúster con varias instancias, puede crear una regla UFW para permitir el acceso desde una subred completa:
sudo ufw allow proto tcp from <ip address>/24 to any port 6379
Reemplazar con la dirección IP de subred adecuada. Antes de usar esta regla, asegúrese de que su red interna sea segura y confiable.
Probar la conectividad de Redis
Después de configurar sus reglas de UFW, pruebe su servicio Redis para asegurarse de que esté operativo y sea accesible desde las direcciones IP o subredes permitidas. Utilice el comando redis-cli con el indicador -h, seguido de la dirección IP a la que desea conectarse:
redis-cli -h <ip address> ping
Reemplazar con la dirección IP adecuada. Si la configuración es correcta, debería recibir una respuesta de tipo "pong".
pong
Opciones de configuración adicionales de Redis
Redis es un almacén de estructuras de datos en memoria versátil y rico en funciones que se utiliza principalmente para almacenamiento en caché, intermediación de mensajes y más. En esta sección, exploraremos opciones de configuración adicionales para Redis que pueden ayudarlo a adaptar su rendimiento y comportamiento a sus necesidades específicas modificando el archivo de configuración de Redis.
Configurar la política de caducidad de valores clave para Redis
En el archivo de configuración de Redis, puede establecer un tiempo de vida (TTL) predeterminado para las claves modificando la configuración de maxmemory-policy y maxmemory-samples. Abra el archivo /etc/redis/redis.conf usando nano editor:
sudo nano /etc/redis/redis.conf
Busque la configuración de política de memoria máxima y configúrela como desee. Por ejemplo, para configurar la política para que caduquen las claves utilizando el algoritmo utilizado menos recientemente (LRU), actualice la configuración de la siguiente manera:
maxmemory-policy volatile-lru
Ahora busque la configuración de maxmemory-samples y configure la cantidad de muestras que Redis debe verificar para tomar la decisión de desalojo:
maxmemory-samples 5
Configurar TCP Keepalive para Redis
TCP keepalive puede ayudar a detectar y cerrar conexiones inactivas, liberando recursos. Para habilitar TCP keepalive, busque la configuración tcp-keepalive en el archivo /etc/redis/redis.conf:
tcp-keepalive 300
En este ejemplo, configuramos el intervalo de actividad en 300 segundos. Ajuste el valor según sus necesidades.
Configurar la supervisión de registros lentos para Redis
Los registros lentos pueden ayudar a identificar problemas de rendimiento al registrar consultas que tardan más que una cantidad de tiempo específica. Para configurar registros lentos, busque las configuraciones slowlog-log-slower-than y slowlog-max-len en el archivo /etc/redis/redis.conf:
slowlog-log-slower-than 10000
slowlog-max-len 128
En este ejemplo, configuramos el umbral de registro lento en 10 000 microsegundos (10 milisegundos) y limitamos el registro lento a las 128 entradas más recientes. Ajuste estos valores según sus necesidades.
Configurar notificaciones de eventos de Redis para Redis
Redis puede generar notificaciones para eventos específicos, lo que puede resultar útil para el seguimiento y la depuración. Para habilitar las notificaciones de eventos, busque la configuración notify-keyspace-events en el archivo /etc/redis/redis.conf:
notify-keyspace-events ExA
En este ejemplo, configuramos Redis para enviar notificaciones sobre claves caducadas y desalojadas. La documentación oficial de Redis proporciona más información sobre las notificaciones de eventos y las opciones disponibles.
Configurar el nivel de registro de Redis para Redis
Ajustar el nivel de registro de Redis puede ayudarle a recopilar la cantidad adecuada de información para fines de resolución de problemas y monitoreo. Para configurar el nivel de registro, busque la configuración del nivel de registro en el archivo /etc/redis/redis.conf:
loglevel notice
En este ejemplo, configuramos el nivel de registro en "aviso", que es el nivel predeterminado. Puede elegir entre las siguientes opciones: depuración, detallado, aviso y advertencia. Ajuste el nivel de registro según sus requisitos.
Después de configurar las opciones deseadas, guarde los cambios y reinicie Redis:
sudo systemctl restart redis-server
Conclusión
Con Redis instalado en su sistema Ubuntu, obtiene acceso a una poderosa herramienta para administrar datos en memoria, brindando soluciones de almacenamiento rápidas y eficientes para una variedad de aplicaciones. Ya sea que opte por la estabilidad del repositorio predeterminado de Ubuntu o las funciones de vanguardia del repositorio espejo de Redis APT, ambos métodos garantizan una instalación sólida. Actualizar periódicamente su configuración de Redis, especialmente cuando utiliza el espejo APT, mantendrá su sistema funcionando sin problemas con las últimas funciones y mejoras de seguridad. Disfrute de la velocidad y flexibilidad que Redis aporta a su entorno Ubuntu.