inhere/lock

此包已被废弃且不再维护。作者建议使用 php-comp/lock 包代替。

PHP 的锁库

v1.1.0 2018-11-22 08:51 UTC

This package is auto-updated.

Last update: 2022-02-01 13:07:34 UTC


README

License Php Version Latest Stable Version

  • DatabaseLock 基于数据库的共享锁
  • FileLock 基于文件加锁实现
  • SemaphoreLock 基于信号量(系统提供的原子操作)实现。需要PHP编译时启用 --enable-sysvsem
  • MemcacheLock 基于memcache实现

参考: http://www.jb51.net/article/94878.htm

安装

  • composer
{
    "require": {
        "php-comp/lock": "dev-master"
    }
}
  • 直接拉取
git clone https://git.oschina.net/inhere/php-lock.git // git@osc
git clone https://github.com/inhere/php-lock.git // github

使用

use PhpComp\Lock\Lock;

$locker = new Lock([
    'driver' => '', // allow: File Database Memcache Semaphore
    'tmpDir' => '/tmp', // tmp path, if use FileLock
]);

$key = 'op1';

if ($locker->lock($key)) {
    // do something ...
    
    $locker->unlock($key);
}

许可协议

MIT