1.2.0 • Published 7 years ago

zhike-resource-lock v1.2.0

Weekly downloads
1
License
ISC
Repository
-
Last release
7 years ago

RESOURCE LOCK

description

concurrence lock

simple demo

'use strict';

let co = require('co');
let LockUtil = require('./index');

co(function*() {
  let lockUtil = new LockUtil({host: '127.0.0.1', port: 6379}, {
    prefix: 'GREAT-LICHAO',
    frozenTime: 10//auto release lock 5 second
  });
  let ans = yield lockUtil.lock('aaa');
  console.log('get lock success return', ans);

  ans = yield lockUtil.lock('aaa');
  console.log('get lock fail for resource is locked', ans);

  yield lockUtil.unlock('aaa');
  console.log('release lock success return');

  ans = yield lockUtil.lock('aaa');
  console.log('get lock success again return', ans);

  console.log('"lock:GREAT-LICHAO:aaa" will delete after 10 second')

}).then(() => console.log('success'), err => console.log(err.stack));

API

  • Constructor cache required redis的配置或者redis实例 opt prefix 前缀 frozenTime 自动释放时间

  • lock * resourceName 资源名称

  • unlock * resourceName 资源名称

Run Tests

npm test
1.2.0

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago