承接 hormone/memory-lock 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2018-12-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固