手记

服务器集群session共享方案

首先说明一点~~这方面我也不是很专业~~业余说一说~~
有什么错误看到的指正一下就好了,毕竟我还是too young too simple


我目前做过的又这么两种方案~~(纯属个人扯淡经验)
都是和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"/>

这个我做安全的时候用的是spring security
这个配置我在tomcat 7上和tomcat 8上配置成功过~~完全有效~~
多台tomcat公用一个session ~~感觉好屌啊


第二种:安全采用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>

但是这种我没有配置过集群~~~话说应该是可以的~~23333333

我用过的是如上两种

14人推荐
随时随地看视频
慕课网APP

热门评论

有完整的代码吗,现在急用,谢啦

请问 第一种方式 支持redis集群吗

保存下。好东西

查看全部评论