NetSDS::Session3pm
Memcached based session storage api
Usage
use NetSDS::Session;# Connecting to Memcached servermy $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;
Overview
"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();
Thanks
Yana Kornienko - for initial module implementation
Releases
8 releases since Debian 6.0 (Squeeze); the text changed 3 times.