Usar Redis hoy día para hacer Caching de data que usamos constantemente es bien común y Nodejs no se queda atrás con esto. Por eso veremos un uso básico del mismo.
Redis también puede ser usado para implementar el patron Pub/Sub, donde nos suscribimos a ciertos eventos y así mismo ejecutar ciertas acciones en base a nuestra data obtenida.

PUB – SUB
Primero tenemos que instalar Redis en nuestro servidor, para instalarlo en Centos 6.5 (Servidor que uso) es cuestión de esto:
yum install redis
Una vez instalado a tenemos que iniciar nuestro servidor:
redis-server
Todo funcionando bien con nuestro servidor Redis corriendo podemos probar el mismo ejecutando estos comando de prueba:
redis-cli ping
Tambien podemos entrar al CLI que nos brinda Redis Redis-CLI y ejecutar uno de sus comandos
redis-cli
Confirmado que todo en Redis esta bien, podemos pasar a trabajar con nodejs.
Instalando redis en nodejs:
npm install redis --save-dev
Tipo de datos
Redis contiene / Soporta una lista reducida de tipos de datos:
String – Valores simples
List – Lista de valores que deben de ser string, no puedes tener una lista dentro de una lista.
Sets – Lista de String a diferencia de que no podras tener valores repetidos.
Hashes – Diccionarios
Instalado es cuestión de crear algún script.
//incluimos redis a nuestro script
var redis = require('redis');
//creamos un cliente
var redisClient = redis.createClient();
redisClient.on('connect', function() {
console.log('Conectado a Redis Server');
});
Si ejecutamos esto debería de salir esto en la consola.
Conectado a Redis Server
Almacenando algunos datos
//incluimos redis a nuestro script
var redis = require('redis');
//creamos un cliente
var redisClient = redis.createClient();
redisClient.on('connect', function() {
console.log('Conectado a Redis Server');
});
redisClient.set("key1", "hola mundo1");
redisClient.set("key2", "hola mundo2");
redisClient.set("key3", "hola mundo2");
redisClient.get("key1", function(err, value) {
// retornara null si la key no existe
console.log(value);
});
Podemos comprobar si tenemos una Key almacenada en Redis mediante este comando:
redisClient.exists(key, function(err, reply){
if(err != null){
//error
}
});
Podemos almacenar listas anidadas a un identificador (Key)
redisClient.set(["key1", "val1","val2","val3","val4"]);
Tomara el primer elemento del array y lo usara como un identificar y los demás elementos serán los valores.
Para obtener estos valores almacenados lo hacemos de esta manera:
redisClient.lrange(key, 0, -1, function(err, values) {
console.log(values)
});