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

https://github.com/ledccn/webman_plugin_locker

Webman plugin ledc/locker
https://github.com/ledccn/webman_plugin_locker

Last synced: 5 days ago
JSON representation

Webman plugin ledc/locker

Awesome Lists containing this project

README

          

## 介绍

symfony/lock for webman

在 webman 中简化使用业务锁功能

解决以下问题:

- 并发业务操作有时候需要锁来防止并发导致的数据插入或更新问题
- 单独使用 symfony/lock 时一般使用 $factory->createLock('key'),此时 key 是一个字符串,不利于后期维护或多处使用

## 安装

`compoer require ledc/locker`

## 使用

### 定义一个自己的 Locker 类

比如:`support\facade\Locker.php`,继承 `Ledc\Locker`

然后在类上方加入注释(用于代码提示),举例如下:

```php
acquire()) {
throw new \Exception('操作太频繁,请稍后再试');
}
try {
// 修改用户金额
} finally {
$lock->release();
}

return 'ok';
}
}
```