viernes, 3 de octubre de 2014

REDIS


Redis básicamente es una "BD" key/value, donde lo mas normal es guardar mensajes que puedan desecharse, que no sean muy importantes, y la ventaja sobre otra BD es que es super rapida pues esta en memoria.

Suscribirse a un canal y publicar

Esto es muy útil para "escuchar" cuando ciertas llaves (canal) cambie. El código en Node sería, para escuchar:

const redis = require('redis');
const client = redis.createClient();

//el canal que queramos, puede ser por usuario, general, etc
client.subscribe('pubsub');

//escuchamos el canal, cuando algo se reciba, lo procesamos
client.on('message', function(channel, message){
    console.log('Recibiendo mensaje');
    console.log(message);
});

console.log('Trabajando');

Y para probar, en el mismo redis console (redis-cli) lanzamos un mensaje al canal:

PUBLISH pubsub "mensaje"

Y el node lo recibe sin hacer más!

Fuente: http://stackoverflow.com/questions/4441798/how-to-use-redis-publish-subscribe-with-nodejs-to-notify-clients-when-data-value

Desde PHP: http://xmeng.wordpress.com/2011/11/14/pubsub-in-redis-using-php/

Múltiples BD

Redis puede tener muchas BD, por default 16, y esto sirve para no mezclar llaves de diferentes temas, o hasta para cuando se quiere hacer un flush, solo se hace sobre la BD que se quiere.

No hay manera de identificarla por nombre aun :( pero podemos llevar un registro en Node (o donde sea) que diga que la BD 1 es de, sesiones por ejemplo.

Para cambiarse de BD default (0) hacemos: SELECT <x>

No hay comentarios.:

Publicar un comentario