NAME
Apache::Session::Browseable::Cassandra - Apache::Session backend to store sessions in a Cassadra database.
SYNOPSIS
use Apache::Session::Browseable::Cassandra;
my $args = {
DataSource => 'dbi:Cassandra:host=localhost;keyspace=llng',
UserName => $db_user,
Password => $db_pass,
# Choose your browseable fileds
Index => '_whatToTrace _session_kind _utime iAddr',
};
# Use it like Apache::Session
my %session;
tie %session, 'Apache::Session::Browseable::Cassandra', $id, $args;
$session{uid} = 'me';
$session{mail} = 'me@me.com';
$session{unindexedField} = 'zz';
untie %session;
DESCRIPTION
Apache::Session::Browseable::Cassandra is an implementation of Apache::Session for Cassandra database.
SCHEMA
To use this module, you will need at least these columns in a table called 'sessions':
id text
a_session text
To create this schema, you can execute this command using cqlsh:
CREATE TABLE sessions (
id text PRIMARY KEY,
a_session text
);
CONFIGURATION
The module must know what datasource, username, and password to use when connecting to the database. These values can be set using the options hash (see Apache::Session documentation). The options are DataSource, UserName, and Password.
Example:
tie %hash, 'Apache::Session::Cassandra', $id, {
DataSource => 'dbi:Cassandra:host=localhost;keyspace=llng',
UserName => 'database_user',
Password => 'K00l'
};
Instead, you may pass in an already-opened DBI handle to your database.
tie %hash, 'Apache::Session::Cassandra', $id, {
Handle => $dbh
};
AUTHOR
This module was written by Mike Langen <mike.langen@tamedia.ch>, based on the original for Oracle.