Giter Club home page Giter Club logo

nlockjs's Introduction

nlockjs

Node.js distributed lock based on Redis

Getting Started

Download

npm install nlockjs

Usage

Redis lock

var Lock = require("nlockjs").Lock;

// New redis lock
var l = new Lock(15, {
    endpoints: "localhost:6379", // Redis endpoints
    password: ""                 // Redis password
});

// Lock
l.lock(key).then(function (ok) {
    // If has lock
    l.hasLock(key).then(function (yes) {
        assert.equal(yes, true);
        
        // Unlock
        l.unlock(key).then(function(ok) {
            assert.equal(ok, true);
        }, function(err) {
            console.error(err.toString());
        });
    }, function (err) {
        console.error(err.toString());
    });
}, function (err) {
    console.error(err.toString());
});

Lock with waiting time

// Lock waiting for 5 seconds
l.lockWait(key, 5).then(function (ok) {
    assert.equal(ok, true);
}, function (err) {
    console.error(err.toString());
});

Methods

- lock(key)                       // lock
- lockWait(key, seconds)          // lock with waiting time
- isLocked(key)                   // check if locked
- hasLock(key)                    // check if has/own lock
- Unlock(key)                     // unlock

License

nlockjs is under the MIT license. See the LICENSE for detail.

nlockjs's People

Contributors

mercvivian avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.