在 Tomcat 中配置 Redis Session 主要涉及以下几个关键步骤和配置文件:

📁 1. 配置文件位置

Tomcat 的 Session 配置通常位于以下文件中:

context.xml

  • 路径示例$CATALINA_HOME/conf/context.xml$CATALINA_HOME/webapps/your_app/META-INF/context.xml
  • 作用:定义使用哪个 SessionManager,比如 RedisSessionManager

示例配置:

<Context>
    <Manager className="com.radiadesign.catalina.session.RedisSessionManager"
             host="localhost"
             port="6379"
             database="0"
             maxInactiveInterval="60"
             sessionKeyPrefix="tomcat:session:"
             serializeWithJava="true"
             usePool="true"
             poolSize="10"
             timeout="2000"
             password=""
             />
</Context>


server.xml

  • 可选。用于更复杂的集群或 Valve 配置。
  • 如果你使用了多个 Tomcat 实例共享 Session,可能需要在此配置全局 JNDI 数据源或 Redis 连接池。

📦 2. 所需依赖(JAR 包)

你需要将 Redis Session 相关的库放入 Tomcat 的 lib 目录下:

常见依赖:

  • tomcat-redis-session-manager-x.x.x.jar
  • jedis-x.x.x.jar(或其他 Redis 客户端)
  • commons-pool2-x.x.x.jar

⚠️ 注意版本兼容性,确保与你的 Tomcat 版本匹配。


🧩 3. RedisSessionManager 初始化参数说明

参数名

说明

className

必须是 com.radiadesign.catalina.session.RedisSessionManager

host

Redis 服务器地址,默认 localhost

port

Redis 端口,默认 6379

database

Redis DB 编号,默认 0

maxInactiveInterval

Session 最大不活动时间(秒)

sessionKeyPrefix

存入 Redis 的 key 前缀

serializeWithJava

是否使用 Java 原生序列化(对象必须实现 Serializable)

usePool

是否启用连接池

poolSize

Redis 连接池大小

timeout

Redis 超时时间(毫秒)

password

Redis 认证密码


🧪 4. 测试验证方式

  • 启动 Tomcat 并访问你的 Web 应用。
  • 使用 Redis 客户端查看是否有类似 tomcat:session:<session-id> 的 Key。
  • 检查日志是否出现异常或连接失败信息。


📌 总结

配置项

文件位置

SessionManager 类型

context.xml

Redis 连接参数

context.xml 内部配置

依赖 JAR 包

$CATALINA_HOME/lib/

可选全局配置

server.xml