Example #1
0
function session($name = 'core', $adapter = 'session', $ttl = 3600)
{
    switch ($adapter) {
        case 'session':
            return lib('session', [$name]);
        case 'redis':
            return RedisSession::instance($name, $ttl);
    }
}
 /**
  * OPEN
  * - Connect to Redis
  * - Calculate and set timeout for SETEX
  * - Set session_name as key prefix
  */
 public static function __open($path, $name)
 {
     $hostname = Configure::read('RedisSession.hostname');
     $port = Configure::read('RedisSession.port');
     if ($hostname !== null && $port !== null) {
         $redis = new iRedisForRedisSession(compact('hostname', 'port'));
     } else {
         $redis = new iRedisForRedisSession();
     }
     self::$store = $redis;
 }
Example #3
0
<?php

//ini_set('session.serialize_handler', 'wddx');
require_once __DIR__ . '/../redis-session.php';
$redis = new Predis\Client();
array_map(function ($key) use(&$redis) {
    //var_dump($redis->get($key));
    $redis->del($key);
}, $redis->keys("session:php:*"));
RedisSession::start();
$_SESSION['test'] = "ohai";
$_SESSION['md'] = array('test2' => array('multidimensional' => 'array'));
$_SESSION['more'] = new stdClass();
Example #4
0
    private static $host;
    private static $port;
    private static $weight;
    private static $prefix;
    private static $database;
    private static $timeout = 3;
    public static function start($options)
    {
        self::setOptions($options);
        self::connectRedis();
        session_start();
    }
    private static function connectRedis()
    {
        if (preg_match('/^tcp:\\/\\//i', self::$host)) {
            $host = rtrim(self::$host, '/');
        } else {
            $host = 'tcp://' . rtrim(self::$host, '/');
        }
        $port = empty(self::$port) ? self::DEFAULT_REDIS_PORT : intval(self::$port);
        $query = array();
    }
    private static function setOptions($options)
    {
        foreach ($options as $option => $value) {
            self::${$option} = $value;
        }
    }
}
RedisSession::start(array('host' => '', 'port' => '', 'weight' => 0, 'prefix' => 'MySession:', 'database' => 0));