服务器集群session共享方案-redis
第一种
直接配置tomcat的session管理让session直接让redis管理
主要的配置是在
修改tomcat的context.xml
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="localhost" port="6379" database="0" maxInactiveInterval="120"/>
第二种:安全采用shiro
待验证思路挺好的就分享了。
<!-- 会话管理器 -->
<bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
<!-- session的失效时长,单位毫秒 -->
<property name="globalSessionTimeout" value="600000"/>
<!-- 删除失效的session -->
<property name="deleteInvalidSessions" value="true"/>
<property name="sessionDAO" ref="redisSessionDAO" />
</bean>
<!-- redisSessionDAO -->
<bean id="redisSessionDAO" class="org.crazycake.shiro.RedisSessionDAO">
<property name="redisManager" ref="redisManager" /> </bean>
<!-- shiro redisManager -->
<bean id="redisManager" class="org.crazycake.shiro.RedisManager">
<property name="host" value="${redis.host}"/>
<property name="port" value="${redis.port}"/>
</bean>