`
fly0wings
  • 浏览: 35242 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用redis保存httpsession--tomcat8实现

阅读更多

在github上已经有人实现该功能,but 在tomcat8下不可用. 所以只能fork自己动手了.其实主要不兼容的问题是一个强制类型转换的事.

 com.orangefunction.tomcat.redissessions.RedisSessionManager#initializeSerializer


   if (getContainer() != null) {
      loader = ((Context)getContainer()).getLoader();
    }

 

使用:

1. 将jar放到 $Catalina_Home$/lib 目录下.
    -- tomcat8-redis-session-manager  // git@github.com:fly0wing/tomcat-redis-session-manager.git
    -- redis.clients:jedis:2.5.1
    -- org.apache.commons:commons-pool2:2.2

2. 添加 context.xml 文件到web项目的webapp/Meta-Inf/文件夹下.

<?xml version='1.0' encoding='utf-8'?>
<Context useHttpOnly="true" sessionCookiePath="/">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
   
    <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
         host="192.168.2.100"
         port="7777"
         database="0"
         maxInactiveInterval="60"/>
</Context>

 

分享到:
评论

相关推荐

    tomcat redis session共享

    首先,`tomcat-redis-session-manager`是专门为Tomcat设计的一个Session管理器,它实现了将传统的基于内存的Session存储方式替换为基于Redis的分布式存储。这样做的好处是,当用户在多个服务器之间跳转时,其Session...

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

    在分布式系统中,Session共享是实现用户会话一致性的重要手段,特别是在集群环境下。"集群redis实现session...通过配置Tomcat和使用Redis客户端,可以实现高效、可靠的Session管理,为分布式Web应用提供稳定的服务。

    Nginx+Tomcat+Redis实现负载均衡过程中session所需架包

    在Tomcat中,可以通过实现`HttpSession`接口的自定义session管理器,或者使用第三方session管理过滤器(如`spring-session-data-redis`)来实现session的Redis存储。 安装和配置过程大致如下: 1. 在Tomcat服务器上...

    tp-vagval-admin-services-1.4.0-RC1.zip

    tomcat-redis-session.zip,用于tomcat redis的redis httpsession实现用于tomcat的redis httpsession实现

    【tomcat6使用redis配置session共享】

    标题"【tomcat6使用redis配置session共享】"表明我们要讨论的是如何在Tomcat6环境下,利用Redis这个内存数据存储系统来实现Session的跨服务器共享。Redis因其高速读写性能和丰富的数据结构,常被用作Session的集中...

    accs-tomcat-redis-springsession:具有Redis会话持久性的Oracle应用容器云上的Tomcat集群

    标题中的“accs-tomcat-redis-springsession”是一个项目名称,它涉及了在Oracle应用容器云(Oracle Application Container Cloud,简称ACCs)上部署的Tomcat集群,并使用Redis和Spring Session来实现会话持久性。...

    使用Redis存放Session RedisManager.7z

    5. 在Web应用代码中,使用`HttpSession`接口进行Session操作,系统会自动处理与Redis的交互。 通过这种方式,我们可以构建一个可扩展、高可用的Session管理系统,保证用户在Web应用中的体验。同时,这也是一种常见...

    utf8''tomcat7下基于redis的session共享所需jar包

    本篇将详细阐述如何在Tomcat7环境下,结合Redis实现Session共享所需的步骤和相关jar包。 首先,我们要明白Session共享的必要性。在Web应用中,Session是服务器端用来保存用户状态的一种机制,当应用部署在多台...

    tomcat容器 实现session共享案例

    本案例主要探讨了如何在Tomcat7容器中,基于Java7环境,利用Redis来实现在多个服务器间Session数据的共享。这有助于提升应用的可扩展性和高可用性。 首先,我们来理解一下Session的基本概念。Session是Web服务器为...

    redis 集群共享Session

    - **Session数据序列化**:将Java的HttpSession对象转换为可以存储在Redis中的字符串。这通常通过自定义的SessionSerializer完成,如使用JSON库将对象序列化为JSON字符串。 - **中间件或过滤器**:在Web应用中,...

    spring-session-tomcat

    &lt;artifactId&gt;tomcat-embed-core &lt;version&gt;9.0.55 ``` 接下来,我们需要配置Spring Boot的主配置文件`application.properties`,以启用Spring Session并指定存储策略。这里以Redis为例: ```properties spring....

    redission-tomcat快速实现从单机部署到多机部署详解

    1. **引入依赖**:将`redisson-all-3.11.0.jar`和`redisson-tomcat-8-3.11.0.jar`这两个jar包放入Tomcat的`lib`目录下。对于不同版本的Tomcat,应选择对应版本的jar包。 2. **配置Tomcat**:在Tomcat的`conf/...

    共享session的功能(从redis拿)

    在Java Web开发中,我们可以使用Spring Session或JSESSIONID + Redis的方案来实现。 1. **Spring Session**: Spring Session是Spring提供的一个开源项目,它允许你在不同的会话存储机制(如Redis)中管理用户的...

    初学SpringSession讲义大全.docx

    1. 使用容器扩展插件:可以使用容器扩展插件来实现 session 共享,如 tomcat-redis-session-manager 插件、jetty-session-redis 插件、memcached-session-manager 插件。 2. 使用 Nginx 负载均衡的 ip_hash 策略:...

    Java操作Redis2种方法代码详解

    使用 Spring Data Redis 可以实现对 Redis 的基本操作,例如 set、get、push、pop 等。 首先,需要在 Maven 项目中添加 Spring Data Redis 依赖项: ```xml &lt;groupId&gt;org.springframework.data &lt;artifactId&gt;...

    基于Servlet实现博客系统

    - **缓存策略**:使用缓存(如Redis)提高热门内容的访问速度。 - **数据库优化**:索引、查询优化、连接池配置等,提升数据库操作效率。 9. **安全考虑** - **SQL注入防护**:使用预编译语句...

    利用Spring Session和redis对Session进行共享详解

    6. **处理高可用性**:虽然示例中提到了Redis Master-Slave复制,但为了高可用性,通常会使用Redis Sentinel或Redis Cluster来实现自动故障转移。 然而,这种方法也有其不足之处,比如Redis内存需求大可能导致...

    tomcat负载均衡配置.rar

    为了在Nginx与Tomcat之间实现Session共享,通常需要配合使用特定的负载均衡策略(如IP哈希),同时在Tomcat集群中配置Session复制或使用其他Session共享机制。 综上所述,"tomcat负载均衡配置.rar"文件可能包含配置...

    clusterMysql.zip

    综上所述,"clusterMysql.zip"提供了一个使用SpringBoot和Redis实现的多Tomcat session共享示例,这对于理解和实践分布式session管理具有重要的参考价值。同时,项目的目录结构也符合标准的Java Web应用规范,便于...

    SpringBoot 如何实现Session共享

    本文将详细讲解如何在SpringBoot中利用Redis来实现Session共享。 首先,我们来理解一下Session的基本概念。Session是Web应用程序中用于存储用户会话信息的一种机制。在传统的Servlet容器(如Tomcat)中,Session是...

Global site tag (gtag.js) - Google Analytics