负载均衡下如何不更改php.ini存放session到redis

负载均衡可以抗住更高并发,但是其中数据如何集中存储,特别是session cookie如何处理,可以使用redis来统一存放,因为redis基于内存的k-v缓存,效率相当高
现在的php环境一般自带了redis扩张,如果没有就需要安装

#centos
sudo yum install php-redis
#ubuntu debian
sudo apt-get install php-redis

Windows的话就需要到redis官网寻找扩展,放到ext目录下,并且在php.ini中启用他

在负载均衡下,多台服务器的配置是非常麻烦的,我一般都是用十几台服务器来做节点,所以懒得一台一台去做配置
下面可以通过php代码来设置session存储路径

//这两个函数要在seession_start()前调用,别问我为什么
//设置session保存模式为redis
ini_set('session.save_handler', 'redis');
//设置session保存路径为基于tcp协议的redis服务器,要加上端口号,好像只能用ip访问,我没试过域名
session_save_path('tcp://ip:1234');

完美运行,但是这样有个缺点,就是redis服务器挂了的话全部服务器都无法访问,会超时,因为他们的session都是存在redis服务器的,我正在找更简单方便安全的方法集中存储session,有能力的可以搞redis集群,那样挂的几率会很小

连浩勇博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • 本博客使用免费开源的 laravel-bjyblog v5.5.0.17 搭建 © 2014-2018 lhyong.cn 版权所有 ICP证:粤ICP备18026642号-1
  • 联系邮箱:lhyong@lhyong.cn