`
chun521521
  • 浏览: 285014 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

tomcat整合Redis

 
阅读更多

 

 

 

 

    1.                  关键词

 

web应用:即使用tomcat发布的web项目,本文的中以myweb为例。

 

 

 

2.    tomcat 8.x

 

 

 

§2.1   jar

 

  1. tomcat\lib

    redisson-all-3.6.4.jar

    redisson-tomcat-8-3.6.4.jar

     

  2. tomcat\webapps\myweb\WEB-INF\lib\

    commons-pool2-2.5.0.jar

           jedis-2.9.0.jar

     

 

§2.2         配置文件

 

  1. server.xml

    <Resource auth="Container" closeMethod="shutdown" configPath="${catalina.base}/conf/redisson.json" factory="org.redisson.JndiRedissonFactory" name="bean/redisson"/>

     

     

  2. context.xml

    <Manager broadcastSessionEvents="false" className="org.redisson.tomcat.RedissonSessionManager" configPath="${catalina.base}/conf/redisson.json" readMode="REDIS" updateMode="DEFAULT" />

     

     

  3. redisson.json

    修改文件内容即可,文档可参考https://yq.aliyun.com/articles/551642/

     

    路径:tomcat\conf

    内容:

    {

       "singleServerConfig":{

          "idleConnectionTimeout":10000,

          "pingTimeout":1000,

          "connectTimeout":10000,

          "timeout":3000,

          "retryAttempts":3,

          "retryInterval":1500,

          "reconnectionTimeout":3000,

          "failedAttempts":3,

          "password":"mypass",

          "subscriptionsPerConnection":5,

          "clientName":null,

          "address": "redis://192.168.1.100:6379",

          "subscriptionConnectionMinimumIdleSize":1,

          "subscriptionConnectionPoolSize":50,

          "connectionMinimumIdleSize":32,

          "connectionPoolSize":64,

          "database":0,

          "dnsMonitoring":false,

          "dnsMonitoringInterval":5000

       },

       "threads":0,

       "nettyThreads":0,

       "codec":{

          "class":"org.redisson.codec.JsonJacksonCodec"

       },

       "transportMode":"NIO"

    }

     

     

 

§2.3         程序改造说明

 

  1. 放入session的对象需要实现序列化implements java.io.Serializable),且需要放置到attribute

  2. 操作容器对象增删改后,需要重新setattribute

     

 

§2.4   redisson序列化配置类

 

 

 

编码类名称

说明

org.redisson.codec.JsonJacksonCodec

Jackson JSON 编码默认编码

org.redisson.codec.AvroJacksonCodec

Avro 一个二进制的JSON编码

org.redisson.codec.SmileJacksonCodec

Smile 另一个二进制的JSON编码

org.redisson.codec.CborJacksonCodec

CBOR又一个二进制的JSON编码

org.redisson.codec.MsgPackJacksonCodec

MsgPack 再来一个二进制的JSON编码

org.redisson.codec.IonJacksonCodec

Amazon Ion 亚马逊的Ion编码,格式与JSON类似

org.redisson.codec.KryoCodec

Kryo 二进制对象序列化编码

org.redisson.codec.SerializationCodec

JDK序列化编码

org.redisson.codec.FstCodec

FST 10倍于JDK序列化性能而且100%兼容的编码

org.redisson.codec.LZ4Codec

LZ4 压缩型序列化对象编码

org.redisson.codec.SnappyCodec

另一个压缩型序列化对象编码

org.redisson.client.codec.JsonJacksonMapCodec

基于Jackson的映射类使用的编码。可用于避免序列化类的信息,以及用于解决使用 byte[] 遇到的问题。

org.redisson.client.codec.StringCodec

纯字符串编码(无转换)

org.redisson.client.codec.LongCodec

纯整长型数字编码(无转换)

org.redisson.client.codec.ByteArrayCodec

字节数组编码

org.redisson.codec.CompositeCodec

用来组合多种不同编码在一起

 

 

 

 

 

 

 

 

 

3.    tomcat 7.x

 

§3.1   jar

 

  1. tomcat\lib

    tomcat7-redis-session-manager-2.0.0.jar

     

  2. tomcat\webapps\myweb\WEB-INF\lib\(或tomcat\lib):

    commons-pool2-2.5.0.jar

           jedis-2.9.0.jar

     

 

§3.2   配置文件

 

  1. context.xml

    新增manager节点:

    <Value className="com.oragenfunction.tomcat.redissessions.RedisSessionHandlerValue" />

     

    <Manager className="com.oragenfunction.tomcat.redissessions.RedisSessionManager" host="192.168.1.100" port="6379" database="0" password="mypass" maxInactiveInterval="60" />

     

     

     

 

4.    spring整合(tomcat7.x

 

§4.1   jar

 

commons-pool2-2.5.0.jar

 

jedis-2.9.0.jar

 

spring-data-redis-1.5.2.RELEASE.jar

 

spring-session-1.2.0.RELEASE.jar

 

 

 

 

 

§4.2   配置文件

 

  1. applicationContext.xml

    <bean id="redisHttpSessionConfiguration" class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">

           <property name="maxInactiveIntervalInSeconds" value="600"/>

    </bean>

          

    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">

           <property name="maxTotal" value="100" />

           <property name="maxIdle" value="10" />

    </bean>

          

    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" destroy-method="destroy">

           <property name="hostName" value="192.168.1.100"/>

           <property name="port" value="6379"/>

           <property name="password" value="mypass" />

           <property name="timeout" value="3000"/>

           <property name="usePool" value="true"/>

           <property name="poolConfig" ref="jedisPoolConfig"/>

    </bean>

     

    注意:由于使用了这里的配置,由redis负责接管Session,原来web.xml里配置的Session超时时间就会失效了

     

     

  2. web.xml

    <!-- Spring Session Redis 共享需要放在filter的第一个 -->

    <filter>

           <filter-name>springSessionRepositoryFilter</filter-name>

           <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>

    </filter>

    <filter-mapping>

           <filter-name>springSessionRepositoryFilter</filter-name>

           <url-pattern>/*</url-pattern>

    </filter-mapping>

     

    注意:这个filter要写在比较靠前的第一个的位置

     

     

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    tomcat+redis依赖包

    当我们谈论"Tomcat+Redis依赖包"时,意味着在Tomcat服务器中引入Redis作为会话管理工具,以实现更高效、可扩展的会话存储。 `Redis`作为一个内存数据结构存储系统,可以快速读取和写入数据,特别适合用来存储像用户...

    tomcat-redis-session-manager的jar包-包含Tomcat7和Tomcat8

    总结起来,Tomcat-Redis-Session-Manager通过整合Redis和Tomcat,实现了高效、可靠的session管理,特别适用于需要处理高并发和分布式部署的Web应用。其提供的jar包简化了集成过程,让开发者能快速地在Tomcat7和...

    tomcat-redis依赖jar包

    总结来说,"tomcat-redis依赖jar包"涉及到的是将Tomcat应用服务器与Redis缓存系统整合的过程,包括连接器选择、配置、缓存策略、性能优化、安全措施以及监控与故障排查等多个方面。正确地集成和使用这些jar包,能够...

    Tomcat和Redis整合jar包

    标题 "Tomcat和Redis整合jar包" 暗示了我们正在讨论如何将流行的Java Web服务器Tomcat与高性能的键值存储系统Redis相结合,以便在Web应用中利用Redis的缓存和数据持久化功能。这通常涉及到在Tomcat环境中添加必要的...

    tomcat-redis-session-manager tomcat+nginx+redis集群所需jar

    在构建高性能、高可用性的Web应用系统时,整合Apache Tomcat、Nginx以及Redis作为会话管理器是一个常见的选择。这个"tomcat-redis-session-manager tomcat+nginx+redis集群所需jar"压缩包提供了在这样的架构中实现...

    tomcat-redis集群环境所有包

    包含: 1、apache-tomcat-7.0.41-windows-x64免安装 2、Redis-x64-3.2.100.msi ...3、tomcat-cluster-redis-session-manager tomcat session所需的jar包 4、getsession.jsp 和setsession.jsp 测试session设置和获取

    redis整合tomcat7

    为了整合Redis和Tomcat,我们需要解决的主要问题是如何将session数据存储到Redis中,以实现session的共享和持久化。这里的关键在于使用一个名为"Session Manager"的组件,它负责在用户session创建、更新和销毁时与...

    tomcat-redis-session-manager-master

    《Tomcat与Redis整合:基于Redis的Session管理》 在Web应用开发中,Session管理是不可或缺的一环。Session主要用于在用户浏览器与服务器之间保持状态,存储用户的登录信息、购物车等临时数据。然而,传统的Session...

    redis整合tomcat8

    将Redis与Tomcat整合,可以将Session数据存储在Redis中,实现Session的分布式管理。这样,即使在多台Tomcat服务器之间进行负载均衡,用户的Session信息也能保持一致,提高了系统的可扩展性和可用性。 **4. 集成步骤...

    tomcat-redis-session-manager-0.0.1-SNAPSHOT.jar,tomcat7session共享jar包

    tomcat7环境下亲测有效的session共享jar,tomcat集群整合redis必备jar包之一.session共享

    tomcat-redis-session-manager-tomcat-7.zip

    通过这种方式,Tomcat与Redis的整合能提供以下优势: - **高可用性**:由于会话数据存储在Redis中,即使某台服务器宕机,其他服务器也能无缝接管会话。 - **可扩展性**:随着应用规模的增长,可以通过增加更多的...

    tomcat7整合redis实现session共享,jar包带配置方法

    本篇文章将深入讲解如何在Tomcat7中整合Redis,以实现session的共享,并提供必要的jar包配置方法。 首先,理解session共享的重要性:在单个服务器上,session信息存储在服务器的内存中,用户在与服务器交互时,会话...

    tomcat+redis依赖包(centos)

    标题“tomcat+redis依赖包(centos)”表明这是一个针对CentOS操作系统的解决方案,整合了Tomcat与Redis的服务,可能是为了实现更高效的会话管理。在Java Web应用中,Tomcat处理HTTP请求并运行Servlet和JSP,而Redis...

    tomcat-redis-session-manager-master.zip

    而Tomcat Redis Session Manager则整合两者,实现会话的持久化存储和跨服务器共享。在实际部署时,需要配置Tomcat的相关参数,如Redis服务器地址、端口、超时时间等,以确保会话管理的正确运行。

    tomcat-redis-session.rar

    标题 "tomcat-redis-session.rar" ...综上所述,"tomcat-redis-session.rar"可能包含的资源可能包括配置文件示例、代码片段、教程文档等,帮助开发者理解并实现Tomcat与Redis的整合,以提高Web应用的可扩展性和可靠性。

    tomcat redis整合以及相关jar包

    标题中的“tomcat redis整合”指的是将Redis缓存系统与Apache Tomcat服务器集成,以便提高Web应用程序的性能和数据处理能力。Redis是一个开源的、基于内存的数据结构存储系统,常用于数据库、缓存和消息中间件的角色...

    tomcat-redis-session-manager 支持 tomcat7 ,包含源码和jar

    《深入理解Tomcat-Redis-Session-Manager:与Tomcat7的整合及源码解析》 在现代Web应用中,由于高并发、分布式部署的需求,单一服务器的session管理已无法满足需求。这时,将session存储在外部存储系统,如Redis,...

    nginx+ tomcat + redis-cluster 实现session同步所需的jar包

    总的来说,通过整合Nginx、Tomcat和Redis-Cluster,我们可以实现高效的分布式环境下的Session同步,保证用户体验的连续性和一致性,同时降低了单点故障的风险。提供的jar包是实现这一目标的关键组件,它们共同确保了...

    tomcat-redis-session-manager

    《Tomcat与Redis整合实现Session共享详解》 在分布式系统中,Session共享是一个常见的需求,尤其是在基于Java的Web应用中,Tomcat作为常用的Servlet容器,如何有效地管理并共享用户Session信息是一个重要的议题。...

    tomcat使用redis实现session共享

    **Tomcat与Redis整合** 1. **添加依赖**: 在Tomcat的web应用的`WEB-INF/lib`目录下添加Redis客户端库,如Jedis。Jedis是Java语言编写的Redis客户端,提供了一套完整的API来操作Redis服务器。 2. **配置Context**: ...

Global site tag (gtag.js) - Google Analytics