Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
default
✓ const redisFailover = require('node-redis-failover');
✗ import redisFailover from 'node-redis-failover';
Package is CommonJS-only; ES modules not supported.
createClient
✓ const client = redisFailover.createClient(zookeeperConfig);
✗ const client = require('node-redis-failover').createClient;
createClient is a synchronous factory method; no async initialization.
getClient
✓ client.getClient('node_1', 'master');
✗ client.getClient('node_1', 'slave', callback);
getClient does not support a callback; returns the client directly.
Shows how to create a failover client using ZooKeeper config, handle events, and perform basic operations on master and slave clients.
const redisFailover = require('node-redis-failover');
const zookeeper = {
servers: process.env.ZOOKEEPER_SERVERS || '127.0.0.1:2181',
chroot: '/myapp'
};
const redis = redisFailover.createClient(zookeeper);
redis.on('ready', () => {
// Get master client for 'node_1'
const master = redis.getClient('node_1', 'master');
if (master) {
master.set('key', 'value', (err, reply) => {
console.log('SET:', reply);
master.get('key', (err, val) => {
console.log('GET:', val);
});
});
}
// Get slave client
const slave = redis.getClient('node_1', 'slave');
if (slave) {
slave.get('key', (err, val) => {
console.log('Slave GET:', val);
});
}
});
redis.on('error', (err) => {
console.error('Redis error:', err);
});
redis.on('change', (name, state) => {
console.log('Node', name, 'state:', state);
});
redis.on('masterChange', (name, newMaster) => {
console.log('Master changed for', name, 'to', newMaster);
});
Errors
Common errors & fixes
Cannot find module 'zookeeper'
ZooKeeper native bindings not installed or missing npm dependencies.
fixRun 'npm install zookeeper' and ensure node-gyp prerequisites are met.
TypeError: redis.getClient is not a function
Incorrect import; likely used default export as function instead of object.
fixUse 'const redisFailover = require('node-redis-failover');' then 'redisFailover.createClient()'. Audit
Dependencies
zookeeperrequiredRequired for leader election and configuration management