https://github.com/webman-tech/symfony-lock
symfony lock for webman
https://github.com/webman-tech/symfony-lock
lock webman
Last synced: 10 months ago
JSON representation
symfony lock for webman
- Host: GitHub
- URL: https://github.com/webman-tech/symfony-lock
- Owner: webman-tech
- Created: 2022-05-24T08:38:00.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-09-18T13:28:34.000Z (over 3 years ago)
- Last Synced: 2025-08-10T13:34:38.609Z (10 months ago)
- Topics: lock, webman
- Language: PHP
- Homepage:
- Size: 4.88 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# webman-tech/symfony-lock
[symfony/lock](https://packagist.org/packages/symfony/lock) for webman
## 介绍
在 webman 中简化使用业务锁功能
解决以下问题:
- 并发业务操作有时候需要锁来防止并发导致的数据插入或更新问题
- 单独使用 `symfony/lock` 时一般使用 `$factory->createLock('key')`,此时 key 是一个字符串,不利于后期维护或多处使用
## 安装
```bash
compoer require webman-tech/symfony-lock
```
## 使用
定义一个自己的 Locker 类,比如:`support\facade\Locker.php`,继承 `WebmanTech\SymfonyLock\Locker`
然后在类上方加入注释(用于代码提示),举例如下:
```php
acquire()) {
throw new \Exception('操作太频繁,请稍后再试');
}
try {
// 修改用户金额
} finally {
$lock->release();
}
return 'ok';
}
}
```
更多操作参考:[symfony/lock 文档](https://symfony.com/doc/current/components/lock.html)