A sentinel monitor and client lib with bundled failsafes for providing a high availability connection to a redis cluster.

Redis-Sentinel (js)

Redis-Sentinel is a wrapper for the node redis client designed for use with a redis sentinel cluster. The Sentinel Monitor subscribes to Sentinel Pub/Sub and maintains the state of redis server clusters. A single client abstraction is provided to access all instances in a given named cluster. If the master instance of a cluster fails, the Master Client enters a fallback state, queuing write commands and executing read commands on the first available slave and untill a new master has been elected by the sentinels.

var sentinel_monitor = new Monitor(options);
sentinel_monitor.once('sync', function do_stuff(){...});

options.hosts* => ['localhost:26379', '', ...] The addresses to the sentinels in this cluster

options.timeout => 5000 The timeout for write requests waiting for execution during failsafe state


var mc = sentinel_monitor.get_client('mymaster');
mc.set('x', 5, function(error, response){...} );

Master clients are singletons which extend the node redis client.