nr-lock
node redis lock
Install
$ npm install nr-lock --save-dev
API
How to use
- use redis client by callback
var Lock = ; var RedisClient = createClient;// var RedisClient = require(ioredis);var client1 = redis;var client2 = redis; var lock = client1 client2 resource: 'redis-lock' ttl: 5000 // lock pexpire 5000ms delay: 2000 // retry delay 200ms; lock
- user redis client by async
{ var Lock = ; var RedisClient = createClient; // var RedisClient = require(ioredis); var client1 = redis; var client2 = redis; var lock = client1 client2 resource: 'redis-lock' ttl: 5000 // lock pexpire 5000ms delay: 2000 // retry delay 200ms ; const redis = await lock; //redis client got lock if redis // got lock else // not get lock let retry = false; do const has = lock; // result true or false if has // lock is valid, do something retry = true; else // lock is failure , do something retry = false; while retry ;}