无意间发现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 --> />