快速使用redis保存session信息

jopen 8年前發布 | 10K 次閱讀 Redis NoSQL數據庫

/**
 * redis配置
 */
$config['redis_host'] = '127.0.0.1';
$config['redis_port'] = '6379';
/**
 * session配置
 */
$config['sess_driver'] = 'redis';
$config['sess_save_path'] = "tcp://{$config['redis_host']}:{$config['redis_port']}";
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 86400*365;
/**
 * cookie配置
 */
$cookie['cookie_prefix']    = '';
$cookie['cookie_domain']    = '';
$cookie['cookie_path']      = '/';
$cookie['cookie_secure']    = FALSE;
$cookie['cookie_lifetime']  = $config['sess_expiration'];
// ------------------------------------- 配置 end -----------------------------------
// 設置cookie
session_set_cookie_params(
$cookie['cookie_lifetime'],
$cookie['cookie_path'],
$cookie['cookie_domain'],
$cookie['cookie_secure'],
TRUE // HttpOnly; Yes, this is intentional and not configurable for security reasons
);
/**
 * 設置session
 */
ini_set("session.save_handler", $config['sess_driver']);
ini_set("session.save_path", $config['sess_save_path']);
ini_set('session.name', $config['sess_cookie_name']);
ini_set('session.gc_maxlifetime', $config['sess_expiration']);
/**
 * 其他設置
 */
// Security is king
ini_set('session.use_trans_sid', 0);
ini_set('session.use_strict_mode', 1);
ini_set('session.use_cookies', 1);
ini_set('session.use_only_cookies', 1);
ini_set('session.hash_function', 1);
ini_set('session.hash_bits_per_character', 4);
session_start();
// 檢查用戶是否微觸點登錄
$redis = new redis();  
$redis->connect($config['redis_host'], $config['redis_port']);  
$session_id = session_id();
$sess_str = $redis->get("ci_session:{$session_id}");

來自: http://my.oschina.net/u/2269208/blog/598494

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!