chenjiahao / zp-lock
zp-lock 是一个基于 Zookeeper 实现的分布式锁项目
v1.0.0
2020-02-06 15:34 UTC
Requires
- php: >=7.0.0
- ext-zookeeper: *
This package is not auto-updated.
Last update: 2024-09-28 13:14:43 UTC
README
这是一个用 Zookeeper 实现分布式锁的项目,但美中不足的是,zookeeper 的扩展可能存在 bug,无法监听连接断开的事件。
composer require chenjiahao/zp-lock
在配置文件app.php中添加
'providers' => [
ZPLock\ZP_LOCKServiceProvider::class,
.
.
..
.
],
php artisan vendor:publish 选择 ZPLock\ZP_LOCKServiceProvider::class
$config = [ 'host' => '127.0.0.1:2181',
'acl' => [ 'perms' => Zookeeper::PERM_ALL, 'scheme' => 'world', 'id' => 'anyone', ] /* 'auth' => [ 'scheme' => 'world',
'user' => 'user0',
'password' => 'password0',
],
*/
];
共享锁 $name,$wait_time = 0 app('ZPLOCK') ->getShareLock("aaa111aa", 15)
独占锁 $name,$wait_time = 0 app('ZPLOCK') ->getUpdateLock("aaa111aa", 15)
app('ZPLOCK') ->unlock("aaa111aa");