tomcat-redis-session-manager的使用

本文介绍了如何将Tomcat的session数据序列化并存储到Redis缓存中,通过配置context.xml和web.xml实现session管理,并强调了jar包版本与Tomcat版本的匹配性。此外,还提到了在Redis集群环境下的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无意间发现redis与tomcat可以配置使用,将session序列化存到redis缓存中。

首先从网上下载相关jar包,需要

common-pool-1.3.jar
common-pool2-2.2.jar
tomcat-redis-session-manager-1.2-tomcat-6.jar
jedis-2.2.0.jar

jar包要求非常严格,请务必选择相同版本jar包
tomcat版本需要6.0经测试7.0会报错那就更不用说更高的版本了
在tomcat中context.xml配置

<Valve  className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /> 
<Manager className="com.radiadesign.catalina.session.RedisSessionManager" host="192.168.0.106" port="6379" database="0" maxInactiveInterval="3600" />   

需要注意在此处配置maxInactiveInterval=”3600”session在redis的过期时间无效,需要在web.xml配置

 <session-config>
    <session-timeout>1800</session-timeout>
  </session-config>

之后即可采用jedis进行缓存测试

github地址:https://github.com/jcoleman/tomcat-redis-session-manager

redis集群配置

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
         host="localhost" <!-- optional: defaults to "localhost" -->
         port="6379" <!-- optional: defaults to "6379" -->
         database="0" <!-- optional: defaults to "0" -->
         maxInactiveInterval="60" <!-- optional: defaults to "60" (in seconds) -->
         sessionPersistPolicies="PERSIST_POLICY_1,PERSIST_POLICY_2,.." <!-- optional -->
         sentinelMaster="SentinelMasterName" <!-- optional -->
         sentinels="sentinel-host-1:port,sentinel-host-2:port,.." <!-- optional --> />
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值