Riak providers for Riak Connection, Cache and Session

Installs: 343

Dependents: 4

Stars: 1

Watchers: 1

Forks: 2

Open Issues: 1

1.1.3 2014-09-03 17:37 UTC


Build StatusScrutinizer Quality Score

Simple Riak provider for Laravel.


This provider is built on top of php_riak so it of cause requires then php_riak extension to be installed.
Installation instructions can be found here


Add bach-pedersen/laravel-riak to your composer.json like this:

"require": {
    "bach-pedersen/laravel-riak": "1.1.0"


Host and port name for Riak should be configured in your app/config/database.php like this:

    | Riak Database
    'riak' => array(
        'host' => 'localhost',
        'port' => 8087

Remember php-riak uses riak protobuf interface and not the http interface, default port is 8087.

Also the service provider should be registered in your app/config/app.php file, like this:

// File: app/config/app.php
'providers' => array(


To get a Riak\Connection, simply ask the app for the instance.

/** @var $riak \Riak\Connection */
$riak = $this->app['riak'];

// or
/** @var $riak \Riak\Connection */
$riak = App::make('riak');

Cache provider

There is also a caching provider included that can be activated if desired.
To activate the caching provider, make sure the normal Riak provider is configured like above, and then do the following:
1: Add provider in app

// File: app/config/app.php
'providers' => array(

2: Change the default cache driver and set the name of the bucket where you want the cache to be stored, like this:

// File: app/config/cache.php
    'driver' => 'riak',
    'bucket' => 'laravel.cache',

Session provider

The session provider is built on top of the cache provider so both that and the regular riak provider should be added in app.php
Beside that the session provider should be added like this:

// File: app/config/app.php
'providers' => array(

And the same way as the cache provider the following settings should set in session.php

// File: app/config/session.php
    'driver' => 'riak',
    'bucket' => 'laravel.session',

Riak configuration

1: The session and cache provider uses secondary indicies which means riak must be configured with eleveldb backend.
See for more info.
2: Bucket properties for cache and session should have lastWriteWins=false and allowMult=false, there are commands included to do that automatically, just run cache:bucket:init and session:bucket:init and they will be set up correctly.

php artisan cache:bucket:init  
php artisan session:bucket:init  


composer homepage:
php_riak pecl page:
php_riak source:
php_riak documentation: