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.

SEE ALSO

Apache::Session, Apache::Session::DBI 1;