Redis: Almacenamiento de datos NoSQL clave-valor en memoria

Redis

Redis (REmote DIctionary Server) es un sistema de almacenamiento en memoria volátil en RAM basado en registros clave-valor NoSQL (opcionalmente podemos hacer que sea persistente o durable). También soporta la replicación de datos maestro-esclavo. Actualmente Redis es usado por: TwitterInstagramGitHubFlickr, o Digg.

¿Pero en que casos puede ser necesario un sistema así?

Por ejemplo para el análisis y procesamiento de datos en tiempo real, supongamos que obtenemos muestreos periódicos de un sensor y cada nueva lectura vuelve a calcular un valor basándonos en las lecturas previas, en ese caso un sistema de gestión de base de datos clásico como MySQL realizando transacciones a disco puede no ser muy eficiente comparado con Redis (tiempos de respuesta menores).

Un sistema de comunicaciones basado en mensajería por ejemplo.

Redis incluye clientes para la mayoría de los lenguajes de programación conocidos (PHP y C# entre ellos claro).

Redis está escrito en C y está ideado para sistemas Linux, aún así existe un desarrollo para sistemas MS Windows.

Instalación en Windows

Podemos descargar versiones binarias del instalador del siguiente enlace en GitHub. La versión que he descargado es Redis-x64-3.2.100.zip.

 

 

El paquete apenas ocupa 5MB.  Una vez descomprimido tenemos todos los binarios y utilidades básicas necesarias.

Abrimos una consola DOS y ejecutamos redis-server.exe.

Una vez ejecutado la consola nos muestra información valiosa, se está ejecutando a la escucha en el puerto 6379, para que ejecute el fichero de configuración copiamos el fichero redis.windows.conf a redis.conf y ejecutamos:

C:\> redis-server.exe redis.conf

Redis incluye la utilidad redis-benchmark.exe para poner a prueba su velocidad, simula la ejecución de comandos de forma simultanea desde varios clientes.

Enlaces externos

 

Anuncios