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
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/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




