Skip to content

korby/MemcacheServiceProvider

 
 

Repository files navigation

MemcacheServiceProvider Build Status

MemcacheServiceProvider provides access to :

  • a simple Memcache wrapper with very simple API for standard use,
  • or your own Memcache wrapper with $app injection for custom use,
  • or a genuine Memcache(d) object for advanced use.

Installation

Create a composer.json in your projects root-directory :

{
    "require": {
        "kuikui/memcache-service-provider": "dev-master"
    }
}

and run :

$ curl -s http://getcomposer.org/installer | php
$ php composer.phar install

Registering

$app->register(new KuiKui\MemcacheServiceProvider\ServiceProvider());

Example

$app->register(new KuiKui\MemcacheServiceProvider\ServiceProvider());

// Simple use
$app['memcache']->set('key', 'value');
$value = $app['memcache']->get('key');
$app['memcache']->delete('key');

// Advanced use : use \Closure to generate default value and save it during a retrieve process
$value = $app['memcache']->get('key', function() use ($app) {
    return $app['some_other_service']->getData();
});

Options

After registration, you can customize the service with these options :

Connections

Allows you to set up one or more Memcache connections.
Each connection should be defined as follows array('ip_address', port).

$app['memcache.connections'] = array(
    array('127.0.0.1', 11211),
    array('10.0.1.118', 12345)
; // default: array('127.0.0.1', 11211)

Class

Allows you to choose between the two PHP Memcache libraries : \Memcache or \Memcached.

$app['memcache.class'] = '\Memcached'; // default: '\Memcache'

Wrapper

  • By default, you access to an instance of KuiKui\MemcacheServiceProvider\SimpleWrapper.
  • For custom needs, you can use your own wrapper :
$app['memcache.wrapper'] = '\My\Custom\Wrapper';
  • Or you can have direct acces to Memcache(d) object :
$app['memcache.wrapper'] = false;

Duration

If you use SimpleWrapper, you can configure the default duration of cached data (in seconds):

$app['memcache.default_duration'] = 60; // default: 0 (no limit)

Running the tests

$ curl -s https://getcomposer.org/installer | php
$ php composer.phar install --dev
$ ./vendor/bin/atoum --test-all

Dependency

MemcacheServiceProvider needs one of these PHP modules to be installed :

Credits

Deeply inspired by MemcacheServiceProvider from Rafał Filipek.
Tested with atoum.

License

The MemcacheServiceProvider is licensed under the MIT license.

Releases

No releases published

Packages

No packages published