AVE.CMS v3.28
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

72 lines
1.3 KiB

<?php
/**
* AVE.cms
*
* @package AVE.cms
* @version 3.x
* @filesource
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
*
* @license GPL v.2
*/
class AVE_Session_Memcached
{
private $memcached;
private $ttl;
private $prefix;
function __construct()
{
$this->memcached = new Memcached;
$this->memcached->addServer(MEMCACHED_SERVER, MEMCACHED_PORT);
$this->ttl = (defined('SESSION_LIFETIME') && is_numeric(SESSION_LIFETIME))
? SESSION_LIFETIME
: (get_cfg_var("session.gc_maxlifetime") < 1440 ? 1440 : get_cfg_var("session.gc_maxlifetime"));
$this->prefix = 'sess_';
}
/* Open session */
function _open($sess_save_path, $session_name)
{
return true;
}
/* Close session */
function _close()
{
return true;
}
/* Read session */
function _read($id)
{
return $this->memcached->get($this->prefix . $id) ? : '';
}
/* Write new data */
function _write ($id, $sess_data)
{
$this->memcached->set($this->prefix . $id, $sess_data, time() + $this->ttl);
return true;
}
/* Destroy session */
function _destroy ($id)
{
$this->memcached->delete($this->prefix . $id);
return true;
}
/* Garbage collection, deletes old sessions */
function _gc ($maxlifetime)
{
return true;
}
}
?>