hormone/memory-lock
Composer 安装命令:
composer require hormone/memory-lock
包简介
php memory lock
README 文档
README
php memory-lock
Install
- composer command
composer require hormone/memory-lock
Document
use redis lock
<?php require 'vendor/autoload.php'; try { $redis = new \Redis(); $redis->connect('127.0.0.1', 6379); $config = [ // 适配器类型 //'adapter' => \Hormone\Lock\Config\LockConfig::REDIS_ADAPTER, // 内存锁获取时重试等待时间,单位为微秒。默认等待10ms,系统压力比较大,可以适当增大该时间值 //'lockTimewait' => 10000, // 设置重试次数,以保证不会到达PHP超时时间 //'lockRetryTimes' => 1000, // 内存锁过期时间,需要大于PHP脚本默认的超时时间30s //'lockTimeout' => 35, //'lockPrefix' => '_hm_lock_', ]; \Hormone\Lock\LockManager::init($redis, $config); $key = 'lockKey1'; \Hormone\Lock\LockManager::acquire($key); // do something var_dump("code"); sleep(1); } catch (\Exception $e) { // todo Exception } finally { \Hormone\Lock\LockManager::release($key); }
use memcached lock
<?php require 'vendor/autoload.php'; try { $memcached = new \Memcached([ 'servers' => array('127.0.0.1:11211'), ]); $config = [ // 适配器类型 'adapter' => \Hormone\Lock\Config\LockConfig::MEMCACHE_ADAPTER, // 内存锁获取时重试等待时间,单位为微秒。默认等待10ms,系统压力比较大,可以适当增大该时间值 //'lockTimewait' => 10000, // 设置重试次数,以保证不会到达PHP超时时间 //'lockRetryTimes' => 1000, // 内存锁过期时间,需要大于PHP脚本默认的超时时间30s //'lockTimeout' => 35, //'lockPrefix' => '_hm_lock_', ]; \Hormone\Lock\LockManager::init($memcached, $config); $key = 'lockKey2'; \Hormone\Lock\LockManager::acquire($key); // do something var_dump("code"); sleep(1); } catch (\Exception $e) { // todo Exception } finally { \Hormone\Lock\LockManager::release($key); }
Unit testing
./vendor/bin/phpunit tests or composer test
LICENSE
The Component is open-sourced software licensed under the Apache license.
统计信息
- 总下载量: 16
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2018-12-04