Node redis lock implementation for locking with a TTL. Requires redis 2.6.12 or above.
$ npm install segmentio/redis-lock
var redis = require('redis').createClient();
var Lock = require('redis-lock');
var lock = new Lock({
name: 'locks:something',
redis: redis,
timeout: '10s;' // or number
});
// try acquiring lock
lock.lock(function(err, locked){
});
// try acquiring lock with retry interval
lock.retry(function(err){
}, 500);
MIT