首页 > 其他分享 >什么是Session共享 与 解决方法?

什么是Session共享 与 解决方法?

时间:2024-04-01 10:58:15浏览次数:22  
标签:登录 Redis 用户 Session 解决 服务器 共享 服务器之间

答: 

传统项目(或者单体项目)中不需要实现Session共享.

在传统登录时,用户登录会将用户的登录信息存储在Session中,然后返回id 保存到客户端的Cookie中.

用户下次登录时,取出客户端的Cookie登录id,到服务器中去找到相应的Session对象,如果找到证明登录,反之就没有登录.

(这个只涉及到单服务器的登录)

如果是采用的SOA分布式服务架构,设计到各个服务之间要进行相互调用,这里每个服务器之间都有自己单独的Session

例如:用户访问服务器A,当他在服务器A登陆,创建Session对象,保存Session信息到服务器A中,

用户下一次访问由于负载均衡,把用户分配到一个服务器压力较小的服务器B中,我在用客户端的CookieId到服务器B中找相对应的Session对象,肯定是找不到的,这里就会认为用户还未登录,

服务与服务之间session不互通导致未登录,为了解决这个问题,我们要实现服务器与服务器之间的一次登录多服务可用, 这个就叫做session共享

 

解决方式一: Redis

使用Redis作为各个服务器之间的连接纽带,用来保存用户登录时的Session信息

用户登录时,获取用户的登录信息,将用户登录的Session信息存储到Redis的Value中,Key则保存的是用户的Cookieid

当用户再次登录时,取出用户CookieId到Redis数据库中进行比对, 找到就证明用户已经登录

标签:登录,Redis,用户,Session,解决,服务器,共享,服务器之间
From: https://www.cnblogs.com/wong-/p/18107922

相关文章

  • 昂辉科技综合性解决方案助力汽车智能化提速
    智能驾驶与智能座舱/车联网,本是两条完全独立的技术路线,经过了近百年的技术发展,终于在21世纪初叶融合到了一起,共同成就了一台智能汽车。当下正是智能化加速普及的阶段,越来越多的消费者开始关注汽车的智能化。而随着汽车智能化的不断发展,软件及计算能力已经成为新时代下汽车的......
  • 请解释什么是Session,它在Web应用中扮演什么角色?
    首先,让我们来想象一下,你去了一家玩具店,并且告诉店员你喜欢某个玩具。但是,当你下次再去这家玩具店的时候,店员却完全不记得你了,也不知道你之前喜欢的那个玩具是什么。这可能会让你感到有点失望,对吧?在Web应用中,这种情况也会发生。当你访问一个网站,浏览了一些页面或者做了一些操作......
  • 深入理解MySQL死锁及解决方案
    导言在数据库应用开发中,MySQL死锁是一个常见但又棘手的问题。在高并发环境下,多个事务同时访问数据库,如果操作不当,就容易导致死锁的发生。本文将深入探讨MySQL死锁的本质、原因及解决方案,并附上Java代码示例,帮助读者更好地理解和处理MySQL死锁问题。MySQL死锁是什么?MySQL......
  • 机台数据传输共享存在哪些问题?机台数据管控怎么做?
    一些金融机构、大型制造业以及晶圆制造厂里面,都会存在大量的机台设备,这些机台会产⽣庞⼤⽽属性不同的数据,这些数据需要定期的进行采集和利用。机台数据在传输分享过程中,会面临各种问题和调整,所以需要做好机台数据管控。机台数据传输分享存在的问题主要有:1、难以统一管理。由于......
  • 炸裂:MySQL死锁是什么,如何解决?
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • 解决 java.sql.SQLException:null,message from Server:"Host 'xxx' is not allowed t
    问题:url中机器地址写127.0.0.1或是localhost时不会发生,但写真实IP就出现此异常,即使从本机运行也会出此错。解决方法:在MySQL控制台,执行以下命令:mysql>usemysql;Databasechangedmysql>updateusersethost='%'whereuser='root';QueryOK,1rowaffected(0.04sec)......
  • MySQL如何解决Host is not allowed to connect to this MySQL server
    在运行Androidstudio时,日志中报错HostisnotallowedtoconnecttothisMySQLserver, 解决方案:1、登录MySQL控制台:在电脑下方搜索 2、选择上图中Unicode3、输入MySQL密码4、根据命令mysql>usemysql;Databasechangedmysql>updateusersethost='%'whereuser......
  • 解决一个有意思的抛硬币问题,计算连续两次正面所需次数的数学期望
    文章目录一、问题与分析二、基本的数学推导三、代码示例......
  • 使用sddm出现无法登录的原因及解决方法
    配置文件介绍SDDM的默认配置文件为/usr/lib/sddm/sddm.conf.d/default.conf配置加载配置目录中的所有文件,然后按下面列出的顺序加载配置文件,后者具有最高优先级。应该对本地配置进行更改。/usr/lib/sddm/sddm.conf.d系统配置目录/etc/sddm.conf.d本地配置目录/e......
  • pycharm卸载失败(已解决),控制面板以及自带的Uninstall.exe均无法卸载
    Uninstallhasn’tdetectedfolderofPyCharminstallation.Probablyuninstall.exewasmovedfromtheinstallationfolder.解决方法1.新建一个文本文档,2.重命名文本:IdeaWin64.dll3.运行卸载程序,成功弹出卸载窗口4.卸载成功......