bach-pedersen / laravel-riak
Riak providers for Riak Connection, Cache and Session
Requires
- php: >=5.4.0
- illuminate/cache: 4.*
- illuminate/console: 4.*
- illuminate/support: 4.*
- php-riak/php-riak-stubs: 1.1.*
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2020-01-20 03:44:42 UTC
README
#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/