NetSDS::Session.3pm

Langue: en

Version: 2010-05-26 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

NetSDS::Session - memcached based session storage API

SYNOPSIS

         use NetSDS::Session;
 
         # Connecting to Memcached server
         my $sess = NetSDS::Session->new(
                 host => '12.34.56.78',
                 port => '12345',
         );
 
         ...
 
         # Retrieve session key somehow
         $session_key = $cgi->param('sess_key');
 
         $sess->open($session_key);
 
         my $filter = $sess->get('filter');
         ...
         $sess->set('filter', $new_filter);
         ...
         $sess->close();
 
         1;
 
 

DESCRIPTION

"NetSDS::Session" module provides API to session data storage based on Memcached server.

Each session represented as hash reference structure identified by UUID string. Most reasonable usage of this module is a temporary data storing for web based GUI between HTTP requests. However it's possible to find some other tasks.

Internally session structure is transformed to/from JSON string when interacting with Memcached.

CLASS API

new(%params) - class constructor
Constructor establish connection to memcached server and set default session parameters.

Parameters:

         * host - memcached server hostname or IP address (default: 127.0.0.1)
         * port - memcached server TCP port (default: 11211)
 
 

Example:

         my $sess_hdl = NetSDS::Session->new(
                 host => '12.34.56.78',
                 port => '99999',
         );
 
 
open($sess_id) - open session
Retrieve session data from server by session key (UUID string)

If no session exists then empty hashref is returned.

id() - get session id
Returns current session id.

Example:

         my $sess_id = $sess->id();
 
 
set($key, $value) - set session parameter
Set new session parameter value identified by it's key.

Example:

         $sess->set('order', 'id desc');
 
 
get($key) - get session parameter
Return session parameter value by it's key.

Example:

         my $order = $sess->get('order');
 
 
delete($key) - delete session parameter by key
Delete session parameter by it's key.

Returns updated session data as hash reference.

Example:

         $sess->delete('order');
 
 
clear() - clear session data
This method clears all session data.

Example:

         $sess->clear();
 
 
sync() - save session
Synchronize session data on Memcached server.

Example:

         $sess->sync();
 
 
close() - save and close session
This method save all data to server and clear current session id and data from object.

Example:

         $session->close();
 
 

SEE ALSO

Cache::Memcached::Fast - XS implementation of Memcached API
JSON - JSON encoding/decoding API

AUTHORS

Michael Bochkaryov <misha@rattler.kiev.ua>

THANKS

Yana Kornienko - for initial module implementation

LICENSE

Copyright (C) 2008-2009 Net Style Ltd.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA