您当前的位置: 首页 >  redis
  • 3浏览

    0关注

    284博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

php负载中使用redis实现session会话保持?【redis】

区块链(Web3)开发工程师 发布时间:2019-03-09 10:40:10 ,浏览量:3

首先要明确session和cookie的区别。浏览器端存的是cookie每次浏览器发请求到服务端是http 报文头是会自动加上你的cookie信息的。服务端拿着用户的cookie作为key去存储里找对应的value(session). 同一域名下的网站的cookie都是一样的。所以无论几台服务器,无论请求分配到哪一台服务器上同一用户的cookie是不变的。也就是说cookie对应的session也是唯一的。 所以,这里只要保证多台业务服务器访问同一个redis服务器(或集群)就行了。

修改php会话缓存机制改成Redis即可,这里有三种方式:

1,修改php的配置文件  修改php.ini文件
session.save_handler = redis
session.save_path = "tcp://172.16.1.51:6379"
//session.save_path = "tcp://172.16.1.51:6379?auth=123123"如果redis配置的密码需要写成这种方式,填写redis的密码
session.auto_start = 1

注释php-fpm.d/www.conf里面的两条内容

;php_value[session.save_handler] = files
;php_value[session.save_path]    = /var/lib/php/session

更改完成之后一定要重启php-fpm服务

2,更改对应的代码文件

直接在对应的代码中加上下面两句话

ini_set("session.save_handler","redis");
ini_set("session.save_path","tcp://172.16.1.51:6379");
//如果redis设置了密码需要改下面一句为
//ini_set("session.save_path","tcp://172.16.1.51:6379?auth=123123");

测试

            
关注
打赏
1665194163
查看更多评论
0.0367s