集中式session
博客专区 > wangjack 的博客 > 博客详情
集中式session
wangjack 发表于4年前
集中式session
  • 发表于 4年前
  • 阅读 979
  • 收藏 17
  • 点赞 1
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

#集中式的Seesion管理 这次给平台升级将原先Cookie会话,切换到集中式的Session管理 技术使用:redis或者zookeeper存储会话数据 ######1.会话 所谓会话,即用户访问应用时保持的连接关系,在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中保存一些数据。如访问一些网站时登录成功后,网站可以记住用户,且在退出之前都可以识别当前用户是谁。 ######2.技术实现 二种方式实现: 1.重写Servlet容器session的方案 2.放弃Servlet容器的会话管理,自己维护着会话 ######3.Servlet方案 1.继承HttpServletRequestWrapper类,重新实现getSession的两个方法 2.自己实现SessionManager,来控制sessinid 3.通过Filter拦截器替换ServletRequest的实现,完成代理模式 4.后台有个任务线程去删除用户最后一次时间跟当前时间比较比较,超过设置的过期时间的用户session ######4.自定义实现 1.创建一个SessionIdGenerator用来生成sessionId。并存入此用户的cookie中,此唯一标识唯一对应着某一个用户 2,生产的sessionId存放到服务器中心服务器上 3.客户每次请求都将cookie与请求一起传输到服务器上,服务器通过sessionid去redis或者zookeeper查询 4.每个请求都需要更新此用户请求的时间 5.后台有个任务线程去删除用户最后一次时间跟当前时间比较比较,超过设置的过期时间的用户session 这个方式做的好的话,可以每台服务器也存储一个session,通过中心session服务器跟本地seesion双重验证提高效率

标签: session
共有 人打赏支持
粉丝 6
博文 5
码字总数 871
×
wangjack
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: