Skip to content

Latest commit

 

History

History
executable file
·
63 lines (41 loc) · 1.1 KB

File metadata and controls

executable file
·
63 lines (41 loc) · 1.1 KB

locker-redis

NPM Version

Installation

$ npm install locker-redis
$ npm install ioredis

API

var RedisLocker = require('locker-redis');
var LockerTimeoutError = require('locker-redis').LockerTimeoutError;

RedisLocker(name,options)

RedisLocker class

var lockerName = 'user:100:account';
var options = {};
var redisLocker = new RedisLocker(lockerName, options);

RedisLocker#acquire(function next(){})

Acquire redisLocker retry some times.If timeout then throw error.

redisLocker.acquire(function (err, release) {
  if (err) {
    return callback(new Error());
  }
  
  // release();  You can call release function here to exec redis locker release.
  callback(null);
});

RedisLocker#release(function next(){})

Release this redisLocker

redisLocker.release();

Use generator version for koa

co-redis-locker

License

MIT