php Session存储到Redis的方法_PHP教程
程序员文章站
2022-04-09 09:51:33
...
当然要写先安装php的扩展,可参考这篇文章:Redis及PHP扩展安装
修改php.ini的设置
session.save_handler = redis
session.save_path = “tcp://127.0.0.1:6379″
修改后重启php-fpm或nginx,phpinfo()
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.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());
?>
修改php.ini的设置
复制代码 代码如下:
session.save_handler = redis
session.save_path = “tcp://127.0.0.1:6379″
修改后重启php-fpm或nginx,phpinfo()
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.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());
?>
推荐阅读
-
MEMCACHE做为PHP的SESSION HANDLER_PHP教程
-
php去掉URL网址中带有PHPSESSID的配置方法,urlphpsessid_PHP教程
-
PHP遍历关联数组的方法介绍_PHP教程
-
ci检测是ajax还是页面post提交数据的方法,ciajax_PHP教程
-
php方法:N个字符间插入其它字符的方法_PHP教程
-
php获取本周星期一具体日期的方法_PHP教程
-
windows+xampp+php5.4下安装memcache使用session的方法
-
php读取文件内容到数组的方法
-
WordPress中对访客评论功能的一些优化方法,wordpress评论功能_PHP教程
-
改写ThinkPHP的U方法使其路由下分页正常_PHP教程