node package manager

Build Status NPM version allows you to communicate with servers easily from processes.

How to use

var io = require('')({ host: '', port: 6379 });
  io.emit('time', new Date);
}, 5000);
// Different constructor options. 
//1. Initialize with host:port string 
var io = require('')("localhost:6379")
// 2. Initlize with host, port object. 
var io = require('')({ host: '', port: 6379 });
// 3. Can use other node_redis compatible client eg; ioredis. 
var Redis = require("ioredis");
var redis = new Redis();
var io = require('')(redis);
// Make the emitter works with redis clustered environment. 
var Cluster = new Redis.Cluster([
        host: "localhost",
        port: 6379
        host: "localhost",
        port: 6378
var io = require('')(Cluster);

Error handling

Access the redis to subscribe to its error event:

var emitter = require('')("localhost:6379");
emitter.redis.on('error', onError);
function onError(err){


Emitter(client[, opts])

client is a node_redis compatible client that has been initialized with the return_buffers option set to true. This argument is optional.

The following options are allowed:

  • key: the name of the key to pub/sub events on as prefix (
  • host: host to connect to redis on (localhost)
  • port: port to connect to redis on (6379)
  • socket: unix domain socket to connect to redis on ("/tmp/redis.sock")

Emitter(clientUri[, opts]

Same as above, but clientUri is a string of the format host:port to connect to redis to.


If you don't want to supply a redis client object, and want to intiialize one for you, make sure to supply the host and port options.



Specifies a specific room that you want to emit to.


Specifies a specific namespace that you want to emit to.