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.

About

Memcache service provider for Silex

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published