惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
S
Secure Thoughts
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
W
WeLiveSecurity
O
OpenAI News
SecWiki News
SecWiki News
博客园 - Franky
NISL@THU
NISL@THU
Microsoft Azure Blog
Microsoft Azure Blog
T
Tor Project blog
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
Security Latest
Security Latest
H
Hacker News: Front Page
Google Online Security Blog
Google Online Security Blog
P
Privacy & Cybersecurity Law Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Darknet – Hacking Tools, Hacker News & Cyber Security
月光博客
月光博客
李成银的技术随笔
Spread Privacy
Spread Privacy
F
Full Disclosure
F
Fortinet All Blogs
T
The Exploit Database - CXSecurity.com
Vercel News
Vercel News
AWS News Blog
AWS News Blog
WordPress大学
WordPress大学
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
V
Visual Studio Blog
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
P
Palo Alto Networks Blog
宝玉的分享
宝玉的分享
T
True Tiger Recordings
N
News and Events Feed by Topic
酷 壳 – CoolShell
酷 壳 – CoolShell
Cisco Talos Blog
Cisco Talos Blog
N
News | PayPal Newsroom
S
SegmentFault 最新的问题
Jina AI
Jina AI

博客园 - 锐洋智能

Redis-8.6.3-Windows-x64-cygwin 与 Redis-8.6.3-Windows-x64-msys2 有什么不一样? commons-fileupload2 M4 升级 M5 报错解决方案 阿里云的网络安全策略 ip 地址详细说明 Paralithic、 QLExpress、AviatorScript、exp4j 性能对比一下 java 序列化影响(重要!) paralithic 与 Aviator 表达式那一个更快 券商接受委托的完整时间线 jQuery 4.0 移除了许多已废弃的方法和特性 xheditor插件无限递归错误解决方法 jedis-7.1.0.jar 升级至 jedis-7.2.0.jar 就提示:The type JedisPoolConfig is deprecated The type JedisPooled is deprecated Spring 从 5.x 到 6.x 和 7.x 区别 js 原生 剪切板 复制功能 安装 Microsoft Visual C++ 运行时 Java与Python进程通信优化方案 Autocomplete | jQuery UI 同一面页定义不同的 .ui-autocomplete Quartz的misfire处理策略设置不当导致Job在应用启动时立即执行。 mysql-connector-j-9.5.0.jar BUG 推荐几款好用的CSS在线压缩工具 CSS 变量 定义及引用 TLS virtual host [_default_], certificate type [RSA] configured from keystore [d:/reyo/jks/localhost.jks] using alias [tomcat] with trust store [null] okhttp5.x 需要在 请求级别 控制是否使用重试拦截器,而不是在客户端级别 2026年放假安排 Apache Commons FileUpload 1.x 与 2.x 的主要区别
下是针对 RedisSessionManager 的 Tomcat context.xml 配置示例,覆盖基础单机 Redis、带密码 / 指定库、Redis 哨兵集群、自定义序列化 / 持久化策略 等常见场景
锐洋智能 · 2026-05-21 · via 博客园 - 锐洋智能

核心说明

配置中所有 className 需指向实际的 RedisSessionManager 全类名(示例中为 reyo.redis.session.manager.tomcat9.RedisSessionManager),Valve 需配置 RedisSessionHandlerValve 用于请求后会话持久化。


示例 1:基础单机 Redis 配置(最简版)

<Context>
    

示例 2:单机 Redis(带密码 / 自定义超时 / 指定 DB)

适配生产环境单机 Redis(指定密码、超时时间、数据库):

<Context>
    <Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
             host="192.168.1.100"  <!-- Redis 服务器IP -->
             port="6380"           

示例 3:Redis 哨兵集群配置(高可用)

适配 Redis 哨兵模式(主从 + 哨兵),需指定哨兵主节点名和哨兵列表:

<Context>
    <Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
             sentinelMaster="mymaster"  <!-- 哨兵配置的主节点名称 -->
             sentinels="192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379"  

示例 4:自定义序列化策略 + 多持久化策略

指定自定义序列化类(替代默认 JavaSerializer),并组合持久化策略:

<Context>
    <Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
             host="192.168.1.100"
             port="6379"
             password="redis@123"
             serializationStrategyClass="com.custom.serializer.FastJsonSerializer"  <!-- 自定义序列化类 -->
             sessionPersistPolicies="SAVE_ON_CHANGE,ALWAYS_SAVE_AFTER_REQUEST"/>  

注:自定义 serializationStrategyClass 需实现 reyo.redis.session.manager.tomcat9.Serializer 接口。


示例 5:完整生产级配置(含 JVM 路由 / 会话超时)

适配分布式 Tomcat 集群(指定 JVM Route,配合负载均衡):

<Context jvmRoute="tomcat-node1">  

关键配置参数说明

参数名作用
host Redis 单机地址(哨兵模式下无需配置)
port Redis 端口(默认 6379)
password Redis 认证密码(无则不配置)
database Redis 数据库编号(默认 0)
timeout Redis 连接超时时间(毫秒,默认 Protocol.DEFAULT_TIMEOUT=2000)
sentinelMaster Redis 哨兵主节点名称(哨兵模式必填)
sentinels 哨兵节点列表,逗号分隔(如:ip1:port1,ip2:port2)
serializationStrategyClass 序列化实现类全类名(默认 JavaSerializer)
sessionPersistPolicies 会话持久化策略: - DEFAULT:默认策略 - SAVE_ON_CHANGE:属性变更立即保存 - ALWAYS_SAVE_AFTER_REQUEST:请求结束强制保存(可组合,逗号分隔)
jvmRoute Tomcat 集群节点标识(会话 ID 后缀,避免集群会话冲突)

注意事项

  1. 需确保 Redis 客户端依赖(jedis)已放入 Tomcat 的 lib 目录;
  2. RedisSessionHandlerValve 必须配置,否则请求结束后会话无法持久化到 Redis;
  3. 哨兵模式下,host/port 配置会被忽略,以 sentinelMaster/sentinels 为准;
  4. 自定义序列化类需保证可序列化 / 反序列化 Tomcat 会话对象,避免类加载异常