0.3.3 • Published 9 years ago
redis-sentinel v0.3.3
node-redis-sentinel
Wrapper around node_redis creating a client pointing at the master server which autoupdates when the master goes down.
var sentinel = require('redis-sentinel');
// List the sentinel endpoints
var endpoints = [
{host: '127.0.0.1', port: 26379},
{host: '127.0.0.1', port: 26380}
];
var opts = {}; // Standard node_redis client options
var masterName = 'mymaster';
// masterName and opts are optional - masterName defaults to 'mymaster'
var redisClient = sentinel.createClient(endpoints, masterName, opts);
// redisClient is a normal redis client, except that if the master goes down
// it will keep checking the sentinels for a new master and then connect to that.
// No need to monitor for reconnects etc - everything handled transparently
// Anything that persists over the normal node_redis reconnect will persist here.
// Anything that doesn't, won't.
// An equivalent way of doing the above (if you don't want to have to pass the endpoints around all the time) is
var Sentinel = sentinel.Sentinel(endpoints);
var masterClient = Sentinel.createClient(masterName, opts);
Connection to slaves or the sentinel itself
You can get a connection to a slave (chosen at random) or the first available sentinel from the endpoints by passing in the role
attribute in the options. E.g.
// The master is the default case if no role is specified.
var masterClient = sentinel.createClient(endpoints, masterName, {role: 'master'});
var slaveClient = sentinel.createClient(endpoints, masterName, {role: 'slave'});
var sentinelClient = sentinel.createClient(endpoints, {role: 'sentinel'});
Where you should also transparently get a reconnection to a new slave/sentinel if the existing one goes down.
TODO
- We could probably be cleverer with reconnects etc. and there may be issues with the error handling
Licence
MIT
0.3.3
9 years ago
0.3.2
9 years ago
0.3.1
9 years ago
0.3.0
9 years ago
0.2.0
9 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago
0.0.9
10 years ago
0.0.8
10 years ago
0.0.7
10 years ago
0.0.6
10 years ago
0.0.5
11 years ago
0.0.4
11 years ago
0.0.3
11 years ago
0.0.2
11 years ago
0.0.1
11 years ago