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
posted @ 2017-04-27 09:37  ー個亽の江湖  阅读(120)  评论(0)    收藏  举报