首先要明确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");
测试
关注
打赏
热门博文
- 【区块链 | Solidity】跟我学 Solidity(5):函数合约的创建和继承
- 【区块链 | Solidity】跟我学 Solidity(4):函数
- 【区块链 | Solidity】跟我学 Solidity(3):引用变量
- 【区块链 | Solidity】跟我学 Solidity(1):开发环境
- 【区块链 | Solidity】区块链抢红包代码,基于Solidity的抢红包代码
- 【区块链 | Merkle】使用Merkle Tree空投,白名单验证
- 【区块链】Web3.0黑话合集:区块链/Token等专业术语
- 【区块链 | 以太坊】EVM 学习手册
- ENS私链部署
- 【区块链 | IPFS】通过Web应用向IPFS上传文件