PHPackages                             deminy/ninja-mutex - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. deminy/ninja-mutex

AbandonedArchivedLibrary[Database &amp; ORM](/categories/database)

deminy/ninja-mutex
==================

Simple to use mutex implementation that can use flock, memcache, memcached, mysql or redis for locking

0.6.1(9y ago)012.6k↓50%1MITPHPPHP &gt;=5.3.0

Since May 19Pushed 4y ago1 watchersCompare

[ Source](https://github.com/deminy/ninja-mutex)[ Packagist](https://packagist.org/packages/deminy/ninja-mutex)[ Docs](https://github.com/arvenil/ninja-mutex)[ RSS](/packages/deminy-ninja-mutex/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (5)Versions (2)Used By (0)

[![MIT license](https://camo.githubusercontent.com/4661abfe916186acde514558e7f040833cb63ba7098401a51ce339cbb2b4cf9e/687474703a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e737667)](http://opensource.org/licenses/MIT)[![GitHub version](https://camo.githubusercontent.com/020f9669cb0712de0febf4bac962ef27846fe78d21acadac6f66026e899d737a/68747470733a2f2f62616467652e667572792e696f2f67682f617276656e696c2532466e696e6a612d6d757465782e737667)](http://badge.fury.io/gh/arvenil%2Fninja-mutex)[![Build Status](https://camo.githubusercontent.com/7e73d45d191a22ae8e225fe0cc3c5bdc5cf6bc43160d43fde6426bdf6d1b32aa/68747470733a2f2f7472617669732d63692e6f72672f617276656e696c2f6e696e6a612d6d757465782e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/arvenil/ninja-mutex)[![HHVM Status](https://camo.githubusercontent.com/1662760f158740e1070aef68b41d5829f373d1ab3c08df3daf9b8e4ac6ee1c32/687474703a2f2f6868766d2e683463632e64652f62616467652f617276656e696c2f6e696e6a612d6d757465782e737667)](http://hhvm.h4cc.de/package/arvenil/ninja-mutex)[![Code Climate](https://camo.githubusercontent.com/4507b4f01240192d22bd031242b0378d40371f6918baffed9a5beb62e11f7562/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f617276656e696c2f6e696e6a612d6d757465782f6261646765732f6770612e737667)](https://codeclimate.com/github/arvenil/ninja-mutex)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/f9b28135f7c8af648fa429683744e47b7ae36df27e4234def12195d5bfdf5870/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f617276656e696c2f6e696e6a612d6d757465782f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/arvenil/ninja-mutex/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/5b30073f4a68ea5171551db7f958e189862071b52ba90b4d9be33df3d2093a1a/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f617276656e696c2f6e696e6a612d6d757465782f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/arvenil/ninja-mutex/?branch=master)[![SensioLabsInsight](https://camo.githubusercontent.com/531d662531bdc887015db7fcaf66b06482956e06b815700d3b6819ded2248bd2/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f31356335633734382d663864382d346235362d623533362d6132396131353161616336632f6d696e692e706e67)](https://insight.sensiolabs.com/projects/15c5c748-f8d8-4b56-b536-a29a151aac6c)[![Dependency Status](https://camo.githubusercontent.com/05b4d1033988c5a07d208ff5257b42e7c08f9df153f1591027f4b28521a2f856/68747470733a2f2f67656d6e617369756d2e636f6d2f617276656e696c2f6e696e6a612d6d757465782e737667)](https://gemnasium.com/arvenil/ninja-mutex)[![Total Downloads](https://camo.githubusercontent.com/4cd95cd5d69f7c0883fdd71f4a9ec7becad04a49b5781dfe86b3a98d156a27ab/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f617276656e696c2f6e696e6a612d6d757465782e737667)](https://packagist.org/packages/arvenil/ninja-mutex)

About
-----

[](#about)

ninja-mutex is a simple to use mutex implementation for php. It supports different adapters (flock, memcache, mysql, redis, ...) so you can setup it as you wish. All adapters (if set up properly) can be used in multi server environment - in other words lock is shared between web servers.

Usage
-----

[](#usage)

### Mutex

[](#mutex)

First you need to choose adapter and setup it properly. For example if you choose flock implementation first you need to setup NFS filesystem and mount it on web servers. In this example we will choose memcache adapter:

```
