reyo.redis.session.manager.tomcat9.RedisSessionManager 调用说明
1. 基本配置示例
使用默认的 JavaSerializer
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="localhost"
port="6379"
database="0"
password="123456"/>
</Context>
显式指定 JavaSerializer
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="localhost"
port="6379"
database="0"
password="123456"
serializerClass="reyo.redis.session.manager.tomcat9.JavaSerializer"/>
</Context>
使用 JSON Serializer
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.manager.tomcat9.RedisSessionManager"
host="localhost"
port="6379"
database="0"
password="123456"
serializerClass="reyo.redis.session.manager.tomcat9.JsonSerializer"/>
</Context>
2. 完整功能配置示例
生产环境推荐配置
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="redis-cluster.example.com"
port="6379"
database="0"
password="${redis.password}"
timeout="5000"
maxInactiveInterval="30"
sessionPersistPolicies="SAVE_ON_CHANGE,ALWAYS_SAVE_AFTER_REQUEST"
serializerClass="reyo.redis.session.manager.tomcat9.JsonSerializer"/>
</Context>
高可用 Sentinel 配置
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
sentinelMaster="mymaster"
sentinels="sentinel1.example.com:26379,sentinel2.example.com:26379,sentinel3.example.com:26379"
password="${redis.password}"
database="0"
timeout="3000"
maxInactiveInterval="60"
sessionPersistPolicies="ALWAYS_SAVE_AFTER_REQUEST"
serializerClass="reyo.redis.session.manager.tomcat9.JavaSerializer"/>
</Context>
开发环境配置
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="127.0.0.1"
port="6379"
database="1"
timeout="2000"
maxInactiveInterval="0"
sessionPersistPolicies="DEFAULT"
serializerClass="reyo.redis.session.manager.tomcat9.JsonSerializer"/>
</Context>
3. 高级配置示例
自定义序列化器(如果您创建了新的序列化器)
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="localhost"
port="6379"
database="0"
serializerClass="com.yourcompany.custom.YourCustomSerializer"/>
</Context>
性能优化配置
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="redis-performance.example.com"
port="6379"
database="0"
password="${redis.password}"
timeout="1000"
maxInactiveInterval="15"
sessionPersistPolicies="SAVE_ON_CHANGE"
serializerClass="reyo.redis.session.manager.tomcat9.JavaSerializer"/>
</Context>
安全强化配置
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="redis-secure.example.com"
port="6379"
database="0"
password="${redis.secure.password}"
timeout="5000"
maxInactiveInterval="5"
sessionPersistPolicies="ALWAYS_SAVE_AFTER_REQUEST"
serializerClass="reyo.redis.session.manager.tomcat9.JsonSerializer"/>
</Context>
4. 集群部署配置示例
多节点负载均衡
<!-- 节点1 -->
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="redis-node1.example.com"
port="6379"
database="0"
password="${redis.password}"
serializerClass="reyo.redis.session.manager.tomcat9.JsonSerializer"/>
</Context>
<!-- 节点2 -->
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="redis-node2.example.com"
port="6379"
database="0"
password="${redis.password}"
serializerClass="reyo.redis.session.manager.tomcat9.JsonSerializer"/>
</Context>
5. 配置参数说明
| 参数名 | 说明 | 示例值 |
|---|---|---|
serializerClass |
序列化器类名 | reyo.redis.session.manager.tomcat9.JsonSerializer |
host |
Redis 主机地址 | localhost, 127.0.0.1 |
port |
Redis 端口 | 6379 |
database |
Redis 数据库编号 | 0 |
password |
Redis 密码 | your_password |
timeout |
连接超时(毫秒) | 2000 |
maxInactiveInterval |
会话过期时间(分钟) | 30 |
sessionPersistPolicies |
持久化策略 | SAVE_ON_CHANGE,ALWAYS_SAVE_AFTER_REQUEST |
sentinelMaster |
Sentinel 主节点名 | mymaster |
sentinels |
Sentinel 节点列表 | host1:26379,host2:26379 |
6. 持久化策略说明
可用策略组合:
-
DEFAULT- 默认策略 -
SAVE_ON_CHANGE- 属性变更时立即保存 -
ALWAYS_SAVE_AFTER_REQUEST- 请求结束后总是保存 -
SAVE_ON_CHANGE,ALWAYS_SAVE_AFTER_REQUEST- 组合策略
7. 环境变量配置示例
<Context>
<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
host="${REDIS_HOST:localhost}"
port="${REDIS_PORT:6379}"
database="${REDIS_DB:0}"
password="${REDIS_PASSWORD:}"
serializerClass="${SERIALIZER_CLASS:reyo.redis.session.manager.tomcat9.JsonSerializer}"/>
</Context>
配置建议
-
开发环境:推荐使用
JsonSerializer,便于调试 -
生产环境:根据性能需求选择
JavaSerializer(性能好)或JsonSerializer(可读性好) -
高并发场景:使用
JavaSerializer+SAVE_ON_CHANGE策略 -
数据安全场景:使用
ALWAYS_SAVE_AFTER_REQUEST确保数据一致性
选择哪种配置取决于您的具体需求:性能、可调试性、数据一致性要求等。
浙公网安备 33010602011771号