🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

egg-locker

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

egg-locker - npm Package Compare versions

Comparing version
1.0.0
to
1.0.1
+6
-6
app.js

@@ -9,5 +9,5 @@ 'use strict';

if (redis) {
const val = await redis.config('get', 'notify-keyspace-events')
const val = await redis.config('get', 'notify-keyspace-events')
if (val.length == 0 || val[1].indexOf('E') == -1 || val[1].indexOf('g') == -1) {
throw new Error('redis版本不支持通知事件')
throw new Error('redis版本不支持通知事件')
}

@@ -17,8 +17,8 @@ app.subscriber = redis.duplicate()

const db = redisName ? app.config.redis.clients[redisName].db : app.config.redis.client.db
const eventName = `__keyevent@${db}__:del`
app.subscriber.__eventName = eventName
// 订阅删除事件
const eventName = `__keyevent@${db}__:del`
app.subscriber.__eventName = eventName
// 订阅删除事件
await app.subscriber.subscribe(eventName)
}
}
})
};
{
"name": "egg-locker",
"version": "1.0.0",
"version": "1.0.1",
"description": "",

@@ -50,10 +50,10 @@ "eggPlugin": {

"type": "git",
"url": "git+https://github.com/eggjs/egg-locker.git"
"url": "git+https://github.com/holyselina/egg-locker.git"
},
"bugs": {
"url": "https://github.com/eggjs/egg/issues"
"url": "https://github.com/holyselina/egg/issues"
},
"homepage": "https://github.com/eggjs/egg-locker#readme",
"homepage": "https://github.com/holyselina/egg-locker#readme",
"author": "",
"license": "MIT"
}

@@ -24,3 +24,3 @@ # egg-locker

<!--
Description here.
egg locker for concurrency base on redis
-->

@@ -49,2 +49,6 @@

exports.locker = {
//redisName: 'lock',//egg-redis的实例名称,多实例的时候需要配置
errorMessage: '系统繁忙,请稍后再试',
maxListenerCount: 2000,
keyPrefix:'lk:'
};

@@ -57,2 +61,16 @@ ```

```js
// app/controller/index.js
const BaseController = require('egg').Controller
class Controller extends BaseController {
async home(){
const orderid = 'xxxxx'
//并发控制的方法,相同的orderid只有一个调用者能获得锁并进入,其他调用者会等待锁的释放
await this.ctx.runInLock(orderid,async ()=>{
await doSomething()
})
}
}
```
<!-- example here -->

@@ -59,0 +77,0 @@