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
};

SEE ALSO

Apache::Session, Apache::Session::DBI

COPYRIGHT AND LICENSE

Copyright (C):

2009-2023 by Xavier Guimard
2013-2023 by Clément Oudot
2019-2023 by Maxime Besson
2013-2023 by Worteks
2023 by Linagora

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.