aerospike / store
A custom session handler backed by Aerospike for PHP 5.4
Requires
- php: >=5.4.0
- aerospike/aerospike-client-php: >=3.3
This package is not auto-updated.
Last update: 2024-12-17 04:34:56 UTC
README
Use Aerospike as session store for PHP. Aerospike easily scales up, and besides RAM it also supports SSD for persistency in a highly optimized architecture. This session handler supports auto expiration of sessions at database level. Find out more about Aerospike.
Dependencies
- It is written for PHP 5.4 and above.
- Aerospike PHP Client: Using Composer the dependency will be installed automatically.
Installation
Using Composer
$ composer require aerospike/store "*"
Manually
Download and use AerospikeSessionHandler.php
.
Usage
Auto-load or:
require 'AerospikeSessionHandler.php';
Create an instance of AerospikeSessionHandler
and set it as session handler:
$Handler = new AerospikeSessionHandler(); session_set_save_handler($Handler); session_start();
It is possible to pass a custom client instance:
$db = new Aerospike(["hosts" => [["addr" => "127.0.0.1", "port" => 3000]]]); $Handler = new AerospikeSessionHandler($db);
And also a custom set of options:
$Handler = new AerospikeSessionHandler(NULL, array( 'addr' => '127.0.0.1', 'port' => 3000, 'ns' => 'test', 'set' => 'session', 'bin' => 'data', 'ttl' => 3600 // defualt = session.gc_maxlifetime ));
Single-Bin
By default an Aerospike namespace supports multiple bins
per key. As the session store only use a single bin for stroing data, it is recommended to to enable single-bin
option in namespace configuration for higher performance.
Contributing
- Fork it ( https://github.com/amirrf/aerospike-store-php/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
License
The Aerospike-Store-PHP is made available under the terms of the Apache License, Version 2, as stated in the file LICENSE
.