首页 > Java > java教程 > 正文

用redis实现tomcat集群下的session共享

巴扎黑
发布: 2017-06-26 09:22:00
原创
1641人浏览过

上篇实现了 LINUX中NGINX反向代理下的TOMCAT集群()

这次我们在上篇的基础上实现session 共享问题

Nginx机器:192.168.1.108

两台tomcat机器分别是:192.168.1.168

                               192.168.1.178

 

一:测试session共享问题

在原index.jsp页面添加如下代码

 

SessionId:
      if(!"".equals(username)&& username!=null){
      out.print("------username is "+session.getAttribute("username"));
      } else {
      out.print("------start username is  null");
          session.setAttribute("username", "lxs");
          out.print("------now username is "+session.getAttribute("username"));

      }

 %>

 

 

 

此时,通过nginx 访问时 第一次访问的是 178那台机器 

再次刷新时,访问了168那台机器

可以看出,此时 session 是不共享的,在集群下,分别创建了session

 

二:用redis实现 session 共享

   实现  session 共享的方法有很多种,此次用的是把session存在 redis 中实现共享。

  1.安装redis (如何安装请看)

redis也是安装在192.168.1.108,跟Nginx安装在同一台机器了

  2.把需要的jar包分别拷贝到 两个tomcat 的lib目录下

 

3. 修改 context.xml 里的内容

分别在tomcat/conf/context.xml里添加如下内容

 

       

    host="192.168.1.108"           

    port="6379"                 

    database="0"                 

    maxInactiveInterval="60" />

 

其中className 是固定的,取得是 jar包里的实现的类

host 是redis 的主机名  port是redis端口  database 是把session存放在redis的第几个库里,maxInactiveInterval表示session存活时间

 

 

 4.再次测试session共享

经过前三步,已经实现了redis下的session共享问题,再次测试

分别启动redis,nginx,以及tomcat 再次访问http://192.168.1.108:7777/nginxTest/

此时nginx 首先转发到178那台机器,此时,session里的 username是为空的,然后往

username里存放了一个值,然后打印出了值

 

 

再次访问http://192.168.1.108:7777/nginxTest/,此时nginx 转到了168那台机器

此时 sessionid 跟178的一样。同时username 也是有值的,直接打印出了 值

 

这说明了 此时session 是共享的,同时在redis里也存进去了对应session

 

以上就是用redis实现tomcat集群下的session共享的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号