方法一:修改配置文件
找到php.ini配置文件,修改如下参数
session.save_handler =redis
session.save_path="tcp://127.0.0.1:6379?auth=1234qwer"
session.php脚本测试
// 如果没有修改配置文件,则可以使用如下代码设置
// ini_set("session.save_handler","redis");
// ini_set("session.save_path","tcp://127.0.0.1:6379?auth=1234qwer");
ini_set('session.gc_maxlifetime',600);//设置过期时间为600秒
session_start();
$_SESSION['time'] = time();
$_SESSION['name'] = '李四';
echo $_SESSION['time']."<br>";
echo $_SESSION['name']."<br>";
echo session_id()."<br>";
echo 'php_session = '.json_encode($_SESSION['users']);
打印出来:
1492074559
李四
6sv5ut17m6jq3fcf3khlcjtkd7
php_session = {"name":"ybl","age":60}
这样的好处还有到了过期时间之后,redis会自动把数据删除
方法二:程序实现
不修改配置文件,通过程序实现。session.php脚本测试
ini_set("session.save_handler","redis");
ini_set("session.save_path","tcp://127.0.0.1:6379?auth=1234qwer");
session_start();
$_SESSION['users'] =array('name'=>'ybl','age'=>60);
$redis=newredis();
$redis->connect('127.0.0.1',6379);
$redis->auth("1234qwer");
//打印session_id
echo 'session_id = '.session_id();
//从redis获取session(redis用session_id作为key,以string的形式存储)
echo 'redis_session = '.$redis->get('PHPREDIS_SESSION:'.session_id());
//php获取session值
echo 'php_session = '.json_encode($_SESSION['users']);
打印:
session_id = jisieih1dmsqh28su4f4smmj30
redis_session = users|a:2:{s:4:"name";s:3:"ybl";s:3:"age";i:60;}
php_session = {"name":"ybl","age":60}