当前位置: 代码迷 >> 综合 >> JDK7 + tomcat7 + redis实现session共享
  详细解决方案

JDK7 + tomcat7 + redis实现session共享

热度:35   发布时间:2024-02-09 04:50:32.0

达到的效果

当客户端访问Nginx服务器时,Nginx负载均衡会自动将请求转发到TomcatA或TomcatB服务器,以减轻Tomcat压力,从而达到Tomcat集群化部署,为了使各Tomcat之间共享同一个Session,将采用Redis缓存服务来集中管理Session存储。

下载开源项目

tomcat-redis-session-manager
tomcat-redis-session-manager最低支持tomcat8及以上,对于tomcat7需要改动源码并重新打包,初学者可能不怎么熟练。

运行环境

windows 7
JDK 1.7.0_79
apache-tomcat-7.0.91
redis 3.2.100

修改调整

  • tomat 在conf/context.xml的Context下追加以下代码片段
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />  
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"  host="localhost" port="6379"database="0"password="2020foobared"/>

其中host就是redis所在服务器,port是redis的端口,database(reids默认16个数据库)使用的数据库编号,password redis连接密码。

session共享所需jar

tomcat7+redis共享session包
由于才编写博客,还对编辑器不怎么熟练,不知道Markdown怎么直接上传附件,故只能使用csdn的上传文件进行jar上传。

  相关解决方案