Los desarrolladores suelen buscar sistemas que aumenten la velocidad y rendimiento de sus proyectos. Un sistema popular para esto es Redis, una base de datos en memoria, de código abierto, utilizada como caché y mensaje broker. También se conoce como un servidor de estructuras de datos.
Lo que lo hace único en comparación con los sistemas de bases de datos relacionales es la capacidad de almacenar tipos de datos de alto nivel, como mapas, listas y conjuntos. También ofrece una interfaz fácil de usar, manipulación atómica de datos y un rendimiento excepcional.
En este tutorial, explicaremos el proceso de instalación de Redis en Ubuntu 18.04, 20.04 y 22.04, así como cualquier configuración necesaria para que funcione correctamente.
¿Qué hace a Redis útil?
Redis destaca por su rendimiento y características excepcionales, convirtiéndolo en un sistema superior a las bases de datos tradicionales. Algunos casos de uso populares son:
- Caché: La capacidad mejorada de Redis para persistir datos en disco lo convierte en una alternativa superior a las soluciones de caché tradicionales.
- Colas: El sistema se puede utilizar para encolar trabajos en segundo plano.
- Contadores: Redis permite la creación e implementación sencilla de contadores sin necesidad de leer datos o actualizar la base de datos. Los contadores en Redis permanecerán consistentes.
- Publicación y suscripción: Los usuarios pueden distribuir fácilmente datos utilizando el paradigma Pub/Sub.
Cómo instalar Redis en Ubuntu en 4 pasos
Para instalar y configurar el servidor Redis en Ubuntu, necesitarás tener un servidor virtual privado (VPS) ya en funcionamiento con el sistema operativo Ubuntu instalado. Con todos los requisitos previos listos, conéctate por SSH y comienza la instalación.
Paso 1: Actualizar el Repositorio de APT
Redis ya está incluido en el repositorio de paquetes oficial de Ubuntu. Sin embargo, recomendamos actualizar frecuentemente el repositorio de APT para obtener la versión más reciente posible.
```bash
sudo apt-get update
```
Paso 2: Instalar el Servidor Redis en Ubuntu
Instalar Redis es tan simple como usar el siguiente comando con privilegios de sudo:
```bash
sudo apt install redis
```
Presiona "y" y luego Enter para continuar.
#### Paso 3: Verificar la Versión de Redis
Una vez que Redis esté instalado, puedes verificar si la instalación fue exitosa usando este comando:
```bash
redis-cli --version
```
La salida mostrará la versión del servidor Redis instalada en tu máquina.
#### Paso 4: Iniciar el Servicio de Redis
Una vez que la instalación esté completa, te recomendamos verificar si la instancia de Redis está en ejecución. Para probar la conectividad, puedes usar el siguiente comando:
```bash
sudo systemctl status redis
```
En la salida, localiza la línea "Active: active (running)".
```bash
# Captura de pantalla de la ventana del símbolo del sistema que muestra el estado del servidor Redis en un sistema Ubuntu. El borde rojo indica el estado activo.
```
Si Redis no se ha iniciado y el estado está inactivo, puedes habilitar el cliente Redis ingresando el siguiente comando:
```bash
sudo systemctl enable redis
```
Cómo Encontrar y Editar el Archivo de Configuración de Redis en Ubuntu
El archivo de configuración predeterminado de Redis se encuentra en el directorio /etc/redis/redis.conf. La configuración predeterminada es que el servidor Redis escuche todas las conexiones disponibles.
Puedes hacer que escuche las interfaces de tu elección mediante la directiva de configuración `bind`, seguida de una o varias direcciones IP.
Para indicar al servidor Redis que escuche una IP específica, debes editar el archivo /etc/redis/redis.conf. Ábrelo con tu editor preferido, en este caso, estamos utilizando nano.
```bash
sudo nano /etc/redis/redis.conf
```
Localiza la línea "bind 127.0.0.1 ::1".
Cambia la dirección IP ingresando los valores de las conexiones que deseas que el servidor Redis escuche. Aquí hay un ejemplo:
```bash
bind 70.25.220.238
```
Para agregar múltiples direcciones IP, simplemente sepáralas con un espacio, así:
```bash
bind 70.25.220.238 70.25.220.239
```
Aquí debes ingresar las direcciones IP de tu red.
Sin embargo, si quieres que el servidor escuche en todas las interfaces de la red, puedes comentar completamente la línea bind:
```bash
# bind 127.0.0.1 ::1
```
Una vez que hayas terminado de hacer cambios, guarda y cierra el archivo. Luego, reinicia el
servicio de Redis para aplicar los cambios:
```bash
sudo systemctl restart redis-server
```
Uso de Comandos de Redis
Hay varios grupos de comandos en Redis, que incluyen:
- Comandos de cadena
- Comandos de lista
- Comandos de conjunto
- Comandos de hash
- Comandos de conjunto ordenado
- Comandos de Pub/Sub
Aquí enumeramos algunos de los comandos utilizados en el prompt de Redis:
- `redis-server /path/redis.conf`: Este comando de configuración de Redis inicia Redis con un archivo de configuración específico.
- `redis-cli`: Un comando para ejecutar el cliente CLI de Redis.
- `APPEND key value`: Agrega un valor a una clave.
- `BITCOUNT key [start end]`: Establece el número de bits establecidos en una cadena.
- `SET key value`: Establece un valor en una clave.
- `EXPIRE key 120`: Expira una clave en 120 segundos.
- `INCR key`: Incrementa el valor en una clave.
- `KEYS pattern`: Encuentra todas las claves que coinciden con un patrón específico.
- `DEL key`: Elimina una clave.
- `STRLEN key`: Obtiene la longitud de una clave.
- `MSET key value [key value …]`: Establece múltiples claves y valores.
- `MGET key [key …]`: Obtiene valores de múltiples claves.
- `GETSET key value`: Establece un nuevo valor devolviendo el valor antiguo.
- `INCRBY key increment`: Aumenta el recuento de una clave.
- `DECRBY key increment`: Disminuye el recuento de una clave.
Cambio de Nombre de Comandos Peligrosos (Opcional)
Una práctica común para asegurar Redis es cambiar el nombre de los comandos o deshabilitar los posiblemente inseguros. Estos comandos son peligrosos porque cualquier usuario no autorizado puede usarlos y manipular o incluso destruir todos los datos de la base de datos.
Ten en cuenta que este proceso es completamente opcional y puedes decidir si deseas cambiar el nombre, deshabilitar o dejar el comando activo. Para comenzar, abre el archivo /etc/redis/redis.conf con tu editor preferido. Usaremos nano en este ejemplo:
```bash
sudo nano /etc/redis/redis.conf
```
Luego, encuentra la sección SECURITY, donde puedes cambiar el nombre o deshabilitar un comando. En nuestro ejemplo, estamos cambiando los comandos FLUSHALL, SHUTDOWN, DEL a CANTSEE_FLUSHALL, CANTGUESS_SHUTDOWN, CANTHEAR_DEL.
También estamos deshabilitando por completo los comandos DEBUG y CONFIG:
```bash
# redis.conf file SECURITY section. FLUSHALL, SHUTDOWN, and DEL commands are the ones to be renamed
```
Otros comandos posiblemente inseguros incluyen RENAME, SAVE, SREM, FLUSHDB, PEXPIRE y BGSAVE.
Para probar todo, reinicia el servicio de Redis:
```bash
sudo systemctl restart redis.service
```
Luego, inicia sesión en el cliente de línea de comandos de Redis:
```bash
redis-cli
```
Para probar un comando deshabilitado, simplemente intenta usarlo. Por ejemplo, probar el comando DEBUG debería verse así:
```bash
# Redis CLI tool showcasing the use of the DEBUG command. In our example, it gives out an error because this command was disabled
```
Se mostrará un error porque el comando DEBUG está completamente deshabilitado. A continuación, prueba el comando renombrado. En nuestro caso, es FLUSHALL.
```bash
# Redis client showcasing FLUSHALL command. In our example, it was renamed to CANTSEE_FLUSHALL
```
Como puedes ver, el comando FLUSHALL no funciona, mientras que nuestro renombrado CANTSEE_FLUSHALL funciona perfectamente.
Más sobre Bases de Datos en Ubuntu
Consulta nuestro artículo para aprender más sobre cómo instalar PostgreSQL en Ubuntu para la gestión de bases de datos.
Conclusión
El servidor de base de datos Redis es una de las alternativas más populares a las bases de datos relacionales como MySQL. Con Redis, los usuarios pueden esperar un alto rendimiento y velocidad, especialmente para sitios web de alto tráfico.
En este tutorial, hemos cubierto los aspectos principales de Redis y por qué es tan valioso.
También hemos revisado el proceso de instalación en sistemas Ubuntu 18.04, 20.04 y 22.04.
Por último, hemos mostrado algunos comandos útiles de Redis y cómo asegurar Redis cambiando el nombre de los comandos inseguros.
Esperamos que hayas encontrado útil este tutorial. Si tienes alguna pregunta o comentario, déjalos en la sección de comentarios a continuación.