php Session存储到Redis的方法

当然要写先安装PHP的扩展,可参考这篇文章Redis及PHP扩展安装
修改PHP.ini的设置

代码如下:
session.save_handler = redis
session.save_path = “tcp://127.0.0.1:6379″
修改后重启PHP-fpm或NginxPHPinfo()

session redis
如果不想修改PHP.ini可这样

代码如下:
ini_set(“session.save_handler”,”redis”);
ini_set(“session.save_path”,”tcp://127.0.0.1:6379″);

如果配置文件/etc/redis.conf里设置了连接密码requirepass保存session的时候会报错,save_path这样写 tcp://127.0.0.1:6379?auth=authpwd 即可。
有网友提到相对于文件存储的session,redis或者memcache存储session值会有并发一致性的问题,这块并没有细测过。
代码如下:
PHP
//如果未修改PHP.ini下面两行注释去掉
//ini_set('session.save_handler','redis');
//ini_set('session.save_path','tcp://127.0.0.1:6379');
session_start();
$_SESSION['sessionid'] = 'this is session content!';
echo $_SESSION['sessionid'];
echo '
';$redis = new redis();
$redis->connect('127.0.0.1',6379);
//redis用session_id作为key并且是以string的形式存储
echo $redis->get('PHPREdis_SESSION:' . session_id());
?>

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...