在 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 初始化参数说明
参数名 | 说明 |
| 必须是 |
Redis 服务器地址,默认 localhost | |
Redis 端口,默认 6379 | |
| Redis DB 编号,默认 0 |
| Session 最大不活动时间(秒) |
| 存入 Redis 的 key 前缀 |
| 是否使用 Java 原生序列化(对象必须实现 Serializable) |
| 是否启用连接池 |
Redis 连接池大小 | |
| Redis 超时时间(毫秒) |
Redis 认证密码 |
🧪 4. 测试验证方式
- 启动 Tomcat 并访问你的 Web 应用。
- 使用 Redis 客户端查看是否有类似
tomcat:session:<session-id>
的 Key。 - 检查日志是否出现异常或连接失败信息。
📌 总结
配置项 | 文件位置 |
SessionManager 类型 |
|
Redis 连接参数 |
|
依赖 JAR 包 |
|
可选全局配置 |
|