An open API service indexing awesome lists of open source software.

https://github.com/yourtion/node-elock

Easy use distributed redis lock implementation
https://github.com/yourtion/node-elock

distributed distributed-lock node-lock redis redis-lock

Last synced: about 1 month ago
JSON representation

Easy use distributed redis lock implementation

Awesome Lists containing this project

README

          

# node-elock

[![Greenkeeper badge](https://badges.greenkeeper.io/yourtion/node-elock.svg)](https://greenkeeper.io/)

Easy use distributed redis lock implementation

## Installation

```bash
npm install elock --save
```

## Usage

```javascript
// Init redis client
const Redis = require('ioredis');
const redisClient = new Redis();

// Init ELock
const ELock = require('elock');
const lock = new ELock({ redis: redisClient });

// Acquire Lock
lock.acquire('key').then(() => {
// do someting when get lock

// release after done
return lock.release('key')
}).catch((err) => {
// err when can't get lock
})

// Get lock
lock.get('key').then((res) => {
if(res === null) return '' // null is get lock fail
// do someting when get lock
})

// Check is Locked
lock.locked('key').then((locked) => {
// locked is a boolean
})
```