eleme/rlock

redis lock
41,679 6
Install
composer require eleme/rlock
Latest Version:v0.3.2
PHP:>=5.3
License:MIT
Last Updated:Nov 25, 2014
Links: GitHub  ·  Packagist
Maintainer: thbourlove

Rlock

Build Status Code Coverage Scrutinizer Code Quality SensioLabsInsight Stable Status

Redis lock for some atomic opration.

Install With Composer:

"require": {
    "eleme/rlock": "~0.3"
}

Usage

Rlock
<?php

use Eleme\Rlock\Lock;
use Predis\Client;

require_once(__DIR__.'/../vendor/autoload.php');

$redis = new Client();

$lock1 = new Lock($redis, 'lock1');
$lock1->acquire();
// release it by manually or it will be autoreleased.
$lock1->release();


// pass some options like timeout and interval.
$lock2 = new Lock($redis, 'lock2', array('timeout' => 5000, 'interval' => 500));
echo $lock2->acquire() ? 'true' : 'false', "\n";

// sometimes you may need a non-block lock.
$lock3 = new Lock($redis, 'lock3', array('blocking' => false));
echo $lock3->acquire() ? 'true' : 'false', "\n";
$lock4 = new Lock($redis, 'lock3', array('blocking' => false));
echo $lock4->acquire() ? 'true' : 'false', "\n";
Factory
<?php

use Eleme\Rlock\Factory;
use Predis\Client;

require_once(__DIR__.'/../vendor/autoload.php');

$factory = new Factory(new Client);
$lock = $factory->make('test');
Extended Predis
<?php

use Eleme\Rlock\Predis;

require_once(__DIR__.'/../vendor/autoload.php');

$redis = new Predis();
$lock = $redis->lock('lock1');
echo $lock->acquire() ? 'true' : 'fasel', "\n";
Laravel
Service Provider

'Eleme\Rlock\Provider\Laravel\RlockServiceProvider'

Facade

'Rlock' => 'Eleme\Rlock\Provider\Laravel\Facade'

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

637,827,751 9,703
laravel/framework

The Laravel Framework.

589,172,971 34,950
laravel/tinker

Powerful REPL for the Laravel framework.

498,216,183 7,442
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

413,412,504 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

391,429,217 4,660