bach-pedersen/laravel-riak

This package is abandoned and no longer maintained. No replacement package was suggested.

Riak providers for Riak Connection, Cache and Session

1.1.3 2014-09-03 17:37 UTC

This package is not auto-updated.

Last update: 2020-01-20 03:44:42 UTC


README

Build StatusScrutinizer Quality Score #laravel-riak
Simple Riak provider for Laravel.

##Requirements
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 http://phpriak.bachpedersen.dk/installation/

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

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

##Configuration
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(
        ...
        'BachPedersen\LaravelRiak\RiakServiceProvider',
),

##Usage
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(
        ...
        'BachPedersen\LaravelRiak\Cache\RiakCacheServiceProvider',
        ...
),

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(
        ...
        'BachPedersen\LaravelRiak\Session\RiakSessionServiceProvider',
),

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 http://docs.basho.com/riak/latest/ops/advanced/backends/leveldb/ 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  

##Links
composer homepage: http://getcomposer.org/
php_riak pecl page: http://pecl.php.net/package/riak
php_riak source: https://github.com/TriKaspar/php_riak
php_riak documentation: http://phpriak.bachpedersen.dk/