`
huangyongxing310
  • 浏览: 499192 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Session共享

阅读更多
Session共享


1.session是保存在服务器上的。
2.存储在服务器的内存中,tomcat的StandardManager类将session存储在内存中,也可以持久化到file,数据库,memcache,redis等。客户端只保存sessionid到cookie中,而不会保存session,session销毁只能通过invalidate或超时,关掉浏览器并不会关闭session。
3.memcached和redis都有自己的过期时间设置,适合用地保存session


session共享的几种思路,我总结如下:
1.把原来存储在服务器磁盘上的session数据存储到客户端的cookie中去。
(1)数据保存在cookie中这种做法有好处,也有坏处。
(2)好处是服务器的压力减小了,因为session数据不存在服务器磁盘上。根本就不会出现session读取不到的问题。
(3)带来的弊端是:网络请求占用很多。每次请求时,客户端都要通过cookie发送session数据给服务器。另外,浏览器对cookie的大小(4k)存在限制。每个浏览器限制是不同的。

2.分发机制来实现,也叫做sticky模式(粘性会话模式),同一个用户的访问请求都被派送到同一个服务器上。
(1)如果这台机子挂掉了,那么后续的请求按照session的规则还是会分发到这台服务器上去,但是现在不可用了。
(2)

3.做一个中间层,专门来存储所有访问涉及到的session。(就是所有session保存到同一个地方,而不是存在本地应用服务器)


如果不用session也可以用自己做一套,生成一个ID保存到cookie,请求到来时从cookie得到ID,从缓存中得到这个ID对应的信息,再用过滤器或应用中使用这些信息就可以了


参考原文(session多服务器共享的方案):http://www.cnblogs.com/wangtao_20/archive/2013/10/29/3395518.html
参考原文(sessionid如何产生?由谁产生?保存在哪里?):http://www.cnblogs.com/woshimrf/p/5317776.html

https://blog.csdn.net/a60782885/article/details/70244305(使用Spring Session redis进行Session共享)
分享到:
评论

相关推荐

    Springboot实现多服务器session共享

    Springboot实现多服务器session共享 Springboot实现多服务器session共享是指在分布式系统中,每个服务器上的Session可以共享,实现 Session 的同步和共享,从而解决了在分布式环境中Session不一致的问题。下面是...

    springboot +shiro+redis实现session共享(方案二)1

    "Spring Boot + Shiro + Redis 实现 Session 共享方案二" 1. 概述 本文档旨在介绍如何使用 Spring Boot、Shiro 和 Redis 实现分布式 session 共享,以解决 Web 应用程序的登录 session 统一问题。 2. 相关依赖 ...

    SSM项目集成shiro搭建session共享

    SSM项目集成Shiro搭建session共享是一个常见的需求,特别是在构建分布式系统时,为了实现用户登录状态在多个服务器间的一致性。在这个项目中,我们使用了SpringMvc4.3、Spring4.3、Mybatis3.4作为基础框架,Shiro1.4...

    nginx实现多个tomcat7直接session共享所需jar包

    标题中的“nginx实现多个tomcat7直接session共享所需jar包”指的是在分布式系统环境中,使用Nginx作为反向代理服务器,将用户请求分发到多个Tomcat7应用服务器上,同时实现用户会话(Session)在这些服务器之间的...

    tomcat8+memcached session共享

    标题中的“tomcat8+memcached session共享”指的是在Tomcat 8服务器中利用Memcached进行session共享的技术实践。在分布式系统中,session共享是一个重要的问题,因为用户在访问不同的服务器节点时,需要保持登录状态...

    PHP实现多服务器session共享之memcache共享.rar

    在网站开发过程中,尤其是涉及到大型分布式系统时,session共享成为一个重要的技术挑战。"PHP实现多服务器session共享之memcache共享"的主题着重于如何在多台服务器之间有效地存储和同步用户的session数据,以确保...

    C#不同域名之间的Session共享

    然而,当涉及到跨域(即不同域名)的Session共享时,问题就变得稍微复杂了。本篇文章将深入探讨C#中如何实现不同域名之间的Session共享,以及这一功能的重要性和应用场景。 Session共享的主要目的是在多个网站或...

    tomcat8集群实现session共享,内含session共享包

    在这个场景中,我们关注的是如何在Tomcat集群环境中实现Session共享,以便提高应用程序的可扩展性和可用性。标题和描述提到的“session共享包”是解决这一问题的关键。 **什么是Session?** 在Web应用中,Session是...

    was集群session共享设置

    在was集群中,通常需要设置session共享,按照文档步骤可以完成session共享设置,解决你应用中的问题

    nginx+tomcat+redis完成session共享

    这个小例子"nginx+tomcat+redis完成session共享"旨在演示如何通过这三种技术实现跨服务器的用户会话共享,以提升用户体验并简化系统管理。以下是这些技术及其在会话共享中的作用: 1. **Nginx**:Nginx是一款高性能...

    ssm+redis 实现session共享

    SSM+Redis 实现Session共享是现代Web应用中常见的技术组合,主要目的是在分布式系统中保持用户Session的一致性。SSM是指Spring、Spring MVC和MyBatis这三大Java Web开发框架的组合,而Redis则是一种高性能的键值存储...

    负载均衡3中session共享demo

    大量的并发访问或数据流量分担到多台节点设备上分别处理,减少...但是负载均衡有一个问题就是不同的服务器间进行session共享问题的处理;肯定不可能每分配到一个服务上让用户进行一次登录,这样的用户体验会是极差的;

    集群redis实现session共享jar包之tomcat8

    `session共享`成为了多台Tomcat服务器协同工作时必须解决的关键问题。本篇文章将深入探讨在Tomcat 8中通过`集群redis`实现session共享的方法。 一、session共享的重要性 在Web应用中,session是服务器端用来存储...

    SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录

    SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 SpringBoot整合Shiro示例实现动态权限加载更新+Session共享+单点登录 ...

    Tomcat8(Tomcat9)+redis实现Session共享(支持Redis集群)

    本教程将详细介绍如何利用Tomcat 8或9以及Redis实现Session共享,支持Redis集群,以提高系统的可伸缩性和数据一致性。 首先,我们需要理解Session的概念。Session是服务器端用于存储用户状态的一种机制,通常在用户...

    tomcat8-redis-session共享

    标题 "tomcat8-redis-session共享" 涉及到的是在Tomcat 8中使用Redis作为Session共享存储的解决方案。这是一个常见的需求,特别是在分布式系统中,为了保持用户会话的一致性,需要将Session数据在多台服务器之间共享...

    Tomcat7+Redis+Session 负载之后session 共享 tomcat jar包

    标题 "Tomcat7+Redis+Session 负载之后session 共享 tomcat jar包" 涉及的是在使用Nginx做负载均衡时,如何通过集成Redis来实现Tomcat7服务器之间的Session共享,从而确保用户在不同服务器之间切换时仍然能够保持...

    session共享项目测试

    在IT行业中,尤其是在分布式系统和Web服务开发领域,Session共享是一个关键问题。当多个服务器或服务需要协同工作,为用户提供一致性的会话体验时,如何在集群之间共享Session信息就显得至关重要。本项目"session...

    适配与Tomcat7、8、9的redis session共享jar包

    "适配与Tomcat7、8、9的redis session共享jar包"指的是一个专为Apache Tomcat服务器设计的解决方案,用于在多台Tomcat服务器之间共享用户会话数据。这个解决方案主要依赖于Redis,一个高性能的键值存储系统,来存储...

Global site tag (gtag.js) - Google Analytics