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