Instalación y operaciones fundamentales de Redis

Redis es un almacén de datos en memoria, de alto rendimiento y de código abierto, utilizado como base de datos, caché y agente de mensajes. Pertenece a la categoría de bases de datos NoSQL, específicamente al tipo de almacén de valores clave.

Características principales de Redis

  • Rendimiento extremo: Procesa operaciones de lectura/esrcitura en milisegundos al mantener los datos en la memoria RAM.
  • Soporte para estructuras de datos ricas: Maneja tipos como cadenas, listas, conjuntos, conjuntos ordenados y hashes.
  • Persistencia de datos: Ofrece mecanismos para salvar el estado en disco.
  • Alta disponibilidad: Permite configuraciones de replicación y particionamiento (clúster).

Instalación en sistemas basados en Linux

El procedimiento siguiente compila Redis a partir del código fuente.

Primero, se necesitan las herramientas de compilación. En distribuciones como Debian o Ubuntu:

sudo apt-get update
sudo apt-get install build-essential

A continuación, se descarga y descomprime una versión estable de Redis:

cd /tmp
wget https://download.redis.io/releases/redis-7.0.15.tar.gz
tar xzf redis-7.0.15.tar.gz
cd redis-7.0.15

Se compila el código fuente y se instala los binarios:

make
sudo make install

Por defecto, esto instala los ejecutables en /usr/local/bin.

Configurcaión básica

Se recomienda utilizar un archivo de configuración. Copiar el archivo de ejemplo:

sudo mkdir /etc/redis
sudo cp redis.conf /etc/redis/redis.conf

Editar /etc/redis/redis.conf para ajustar parámetros importantes, como el puerto o la dirección de enlace.

Gestión del servicio

Para iniciar el servidor con la configuración personalizada:

redis-server /etc/redis/redis.conf

Para ejecutarlo en segundo plano, modificar en el archivo de configuración:

daemonize yes

Detener el servidor se puede realizar con la orden de apagado segura:

redis-cli shutdown

Conectarse al cliente interactivo:

redis-cli

Operaciones básicas con tipos de datos

Cadenas (Strings)

SET usuario:1000 "Juan Pérez"
GET usuario:1000
DEL usuario:1000

Hashes (Objetos)

HSET perfil:100 nombre "Ana" email "ana@ejemplo.com"
HGETALL perfil:100
HGET perfil:100 email
HDEL perfil:100 email

Listas

LPUSH cola_tareas "tarea1" "tarea2"
RPUSH cola_tareas "tarea3"
LRANGE cola_tareas 0 -1
LPOP cola_tareas
RPOP cola_tareas

Conjuntos (Sets)

SADD etiquetas:articulo5 "redes" "bases_de_datos"
SMEMBERS etiquetas:articulo5
SREM etiquetas:articulo5 "redes"

Conjuntos ordenados (Sorted Sets)

ZADD ranking_jugadores 1500 "jugadorA"
ZADD ranking_jugadores 1850 "jugadorB"
ZRANGE ranking_jugadores 0 -1 WITHSCORES
ZREM ranking_jugadores "jugadorA"

Comandos generales

KEYS *usuario*
TYPE usuario:1000
EXISTS usuario:1000
TTL clave_con_caducidad

Etiquetas: Redis NoSQL key-value-store linux data-structures

Publicado el 6-10 00:49