php服务器把session放到redis中
默认情况下,执行php的服务器会把session保存在系统临时文件中。每次读取session,都会读取文件。当访问量大的时候,频繁地读取磁盘文件可能会增加IO压力,此时我们可以尝试把session放到redis中。此外,把session放到redis还利于以后多服务器扩展的session共享问题。
下面详细说下怎么做。
如果php是作为模块模式运行的(比如Apache默认运行的模式),则
把php.ini中的
session.save_handler = files
改为
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
重启apache以生效
service httpd restart
如果是以FastCGI运行的(比如nginx就是默认FastCGI运行的)
编辑 /etc/php-fpm.d/www.conf(可能视系统环境而路径不一样)
把这两行
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
改为(其实就是增加分号以注释掉)
;php_value[session.save_handler] = files
;php_value[session.save_path] = /var/lib/php/session
然后增加两行:
php_value[session.save_handler] = redis
php_value[session.save_path] = tcp://127.0.0.1:6379
重启php服务以生效
service php-fpm restart
如无特殊说明,本站皆为原创。转载请注明来自第七星尘的独立博客的《php服务器把session放到redis中》
2016-04-14
编程技术
博主,如果是在项目中直接设置session 是不是更好一些
ini_set(‘session.save_handler’, ‘redis’);
ini_set(‘session.save_path’, ‘tcp://127.0.0.1:6379’);
都可以的。写在项目中也行。但为了省得每个项目都配置一下,干脆统一修改配置文件了。
棒
不错
nice