当前位置:首页 >> 新能源

redis实现分享session

来源:新能源   2024年01月13日 12:17

通过4台服务项目器端登录所生成的session可以和其他服务项目器端相关联

生产商中的每个调遣多台服务项目器端的项目,都亦会遇到软件现在登岸4台服务项目器端了,但是再次先入网页的时候浏览器又亦会让软件继续回传账号密码。根本原因是,软件每次先入入网页都亦会被随机分配一个服务项目器端,所以保存在上个服务项目器端的软件反馈,在理论上这台服务项目器端上不存在。

所以,怎么解决将session反馈相关联与多个服务项目器端是一个难题。

这里采用redis来实现相关联session:

为什么使用redis呢,因为redis的物理性质,他是基于内存,读写性能高,很适合这种软件反馈频繁读取的原因。

还有一种分析方法,可以通过nginx的iphash实现,该分析方法非常简单,但是思路和上面两种各不相同,原理就是同一个ip的所有乞求都亦会被nginx同步先入行iphash同步先入行计算,将结果链接到原则上服务项目器端,之后这个乞求都亦会访问到该服务项目器端中的。

但是这样就有一些难题,首先就算负载均衡就没有毕竟大意义了,如果链接的服务项目器端绑了,那么iphash也就失效了;又或者你的乞求被其他服务项目分发而未走nginx服务项目,那么iphash同样不生效;所以谨慎使用;

登岸模块代码如下:

login分析方法,主要是正确性理论上登岸软件回传账号密码究竟存在,账号究竟改用等一些权限,获取软件反馈后,离开的userInfo就算理论上软件的所有 反馈。

随后开始获取授权token,后端创建token存入redis并离开给外侧一份可用推断软件究竟登岸。

每次软件登岸都亦会刷新一次令牌并再次存入redis:

既有程序中的:

后端获取软件反馈也是如此:

外侧传递token,后端根据该token获取软件识别:

再根据软件识别去redis中的获取软件登岸反馈:

妈咪爱和新必奇蒙脱石散能一起吃吗
怎么治疗类风湿关节炎好的快
尿频吃坦洛新怎么样
胳膊关节处疼痛什么原因
阿莫西林克拉维酸钾片治疗感冒怎么样
友情链接