tomcat集群-基于redis的session共享

来源:互联网 发布:c语言编程工具哪个好 编辑:程序博客网 时间:2024/05/16 01:33
1.环境依赖:tomcat7,jdk7
2.下载所需jar
commons-pool2-2.2.jar、jedis-2.6.1.jar、tomcat-redis-session-manager1.2.jar
下载地址:http://download.csdn.net/download/feifuzeng/10106249
把这三个jar添加到tomcat目录中的lib文件夹下
3.在tomcat的context.xml 配置里添加信息
①只有一个redis时:
<!-- 基于缓存数据库的Session共享配置开始 -->
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="192.168.16.135"
port="6380"
database="0"
maxInactiveInterval="1800"/>
<!-- 基于缓存数据库的Session共享配置结束 -->
②多个redis时:
<!-- 基于缓存数据库的Session共享配置开始 -->
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
database="1"
maxInactiveInterval="1800"
sentinelMaster="username"
password="password"
sentinels="172.10.2.11:26379,172.10.2.2:26379,172.10.2.3:26379"/>
<!-- 基于缓存数据库的Session共享配置结束 -->
4.关于maxInactiveInterval,即失效时间,这里做一些说明:
即使在这里配置的maxInactiveInterval是1800s,如果web.xml配置了session的失效时间,则以web.xml为准。
另,如果有一下三处配置了Session的失效时间,则下面的配置覆盖上面的配置:
TOMCAT_HOME/conf/web.xml
WebApplication/webapp/WEB-INF/web.xml
写在代码中的值 : HttpSession.setMaxInactiveInterval(int)
即实际生效顺序是:
HttpSession.setMaxInactiveInterval(int) > $WebApplication/webapp/WEB-INF/web.xml > $TOMCAT_HOME/conf/web.xml
5.启动Tomcat,访问应用,即可在Redis中看到效果。
参考:
http://blog.csdn.net/xuxile/article/details/52994534
https://yq.aliyun.com/articles/1298
2017.11.21记:更详细的基于redis的session共享博客:http://blog.csdn.net/xlgen157387/article/details/52024139
原创粉丝点击