Simple redis pub/sub interface wrapped in a singleton.
redis-twins brings together two redis clients: one in REGULAR mode, the second in SUBSCRIBER mode.
The goal is to use two clients as one. This single client can send regular AND subscriber commands.
npm install redis-twins
You can pass your conf arguments as if you were using the redis.createClient method:
// default arguments
var redis = require('redis-twins')(); // eq: var redis = require('redis-twins')(6379, '127.0.0.1', {});
// default port and host, custom options
var redis = require(options); // eq: var redis = require('redis-twins')(6379, '127.0.0.1', options);
// unix socket with options
var redis = require('redis-twins')(unix_socket, options);
// custom port, host and options
var redis = require('redis-twins')(port, host, options);
###Using regular commands
If you wish to use Redis regular commands, you have to use the REGULAR client. Use it as if you were using the standard redis module:
redis.regular.set(...);
redis.regular.hget(...);
redis.regular.smembers(...);
// and so on
###Publlishing
publish is a regular command, so to publish content on a channel, use the REGULAR client:
redis.regular.publish('Pub2Sub', 'Something'));
###Subscribing
Subscribing to a channel is done this way:
redis.subscribe('Sub2Pub', function(message){
console.log('Redis Subscriber has received: ' + message);
});
It is a shorthand for:
redis.subscriber.subscribe('Sub2Pub');
redis.callbacks['Sub2Pub'] = function(message){
console.log('Redis Subscriber has received: ' + message);
};
Unit Tests are run with mocha. You need to install this framework in order to run the tests:
npm install mocha -g
Then, to run the tests, simply do:
npm test