Como instalar Redis en Debian/Ubuntu

En esta sección aprenderás a instalar Redis, el cual nos ayudara en futuros proyectos, las posibilidades son infinitas, desde crear un manejador de archivos hasta coordinar el envío de miles de correos, todo con la ayuda de una base de datos almacenada en memoria. AWS tiene una excelente introducción a redis que vale la pena leer.

¿Que es redis?

Redis es un motor de base de datos en memoria, basado en el almacenamiento en tablas de hashes (clave/valor) pero que opcionalmente puede ser usada como una base de datos durable o persistente. Está escrito en ANSI C por Salvatore Sanfilippo, quien es patrocinado por Redis Labs. Está liberado bajo licencia BSD por lo que es considerado software de código abierto.

En otras palabras, es una base de datos que se aloja en memoria RAM, haciendo que sea mucho mas rápida que los clásicos manejadores (oracle, Postgre), según Eric Redmon, en algunas ocasiones, puede alcanzar hasta 100,000 operaciones por segundo, según tus configuraciones.

Instalar Redis en Linux

sudo apt update
sudo apt install redis-server

Redis se encuentra en los repositorios oficiales de debian & Ubuntu, por lo que lo único que necesitas hacer es actualizar tus repositorios, para luego instalar redis-server.

Lo siguiente que necesitamos hacer es configurar redis para poder usarlo como un servicio, lo que nos permitirá tener un mayor control de sus operaciones. En la misma terminal abre el archivo redis.conf

sudo nano /etc/redis/redis.conf
. . .

# If you run Redis from upstart or systemd, Redis can interact with your
# supervision tree. Options:
#   supervised no      - no supervision interaction
#   supervised upstart - signal upstart by putting Redis into SIGSTOP mode
#   supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
#   supervised auto    - detect upstart or systemd method based on
#                        UPSTART_JOB or NOTIFY_SOCKET environment variables
# Note: these supervision methods only signal "process is ready."
#       They do not enable continuous liveness pings back to your supervisor.
supervised systemd

. . .

Puedes utilizar ctrl + w para poder buscar la palabra supervised, y cambiar el valor por defecto a systemd. Luego de ello solo necesitas reiniciar el servicio.

sudo systemctl restart redis

Probar que Redis se instalo correctamente

Una vez que configuramos a redis para utilizar systemd y reiniciamos el servicio, podemos utilizar systemd para poder analizar el estatus de Redis.

sudo systemctl status redis
 redis-server.service - Advanced key-value store
    Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor pre
    Active: active (running) since Sun 2019-11-24 10:48:48 CST; 1min 10s ago
      Docs: http://redis.io/documentation,
            man:redis-server(1)
  Main PID: 5159 (redis-server)
     Tasks: 4 (limit: 4915)
    Memory: 7.3M
    CGroup: /system.slice/redis-server.service
            └─5159 /usr/bin/redis-server 127.0.0.1:6379
 nov 24 10:48:48 ryzen systemd[1]: Starting Advanced key-value store…
 nov 24 10:48:48 ryzen systemd[1]: Started Advanced key-value store.

El circulo verde nos indica que todo esta funcionando correctamente. Para poder hacer una prueba manual necesitamos iniciar el cliente de redis

redis-cli

Podemos utilizar el comando PING y esperar la respuesta PONG

127.0.0.1:6379> ping
PONG

Si todo esta bien, podemos asignar llaves con la palabra reservada set

127.0.0.1:6379> set prueba "Hola, Redis!"
OK

Y podemos recuperar nuestro valor con get

127.0.0.1:6379> get prueba
"Hola, Redis!"

Para salir de la consola de redis solo necesitas la palabra reservada exit

127.0.0.1:6379> exit

En futuras entradas aprenderemos a conectar redis con python, y exploraremos algunos ejemplos que nos ayudaran a entender mejor los beneficios de esta base de datos en memoria.