• Tomcat8 + Redis实现session集中管理



     
    环境准备:
     
    • 部署两台 tomcat 8.0 
     
    • 安装 redis 服务器 
     
     
     
    环境搭建:
     
     
    • 修改tomcat目录下的conf/context.xml,在其中加入下面代码,注意修改ip和端口
     
      <Valve className="com.demo.redis_session.RedisSessionHandlerValve" />
      <Manager className="com.demo.redis_session.RedisSessionManager"
      host="127.0.0.1"
      port="6379"
      database="0"
      maxInactiveInterval="60" />
     
     
    简单测试:(访问两台tomcat服务器首页,并显示session)
     
    • 启动redis服务器
     
    • 修改两个tomcat目录下webapps/ROOT/index.jsp,加入红色部分的代码
     
    <body>
    <div>Tomcat 1</div>
    <div><%= session.getId()%></div>
      <div id="wrapper">
     
    • 删除index.jsp的下面session配置的红色部分代码,开启session
     
    <%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
     
    • 修改tomcat目录下的conf/sever.xml配置文件,改动部分见红色代码(tomcat1 端口前加1,tomcat2端口前加2)
     
    <Server port="18005" shutdown="SHUTDOWN">
      <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
    ...
    <Connector port="18080" protocol="HTTP/1.1"
      connectionTimeout="20000"
      redirectPort="8443" />
    ...
    <Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />
     
    • 启动两台tomcat
     
    • 打开浏览器访问tomcat1和tomcat2的首页(期望结果:两个页面显示的session id相同)
     
         localhost:18080
     
         localhost:28080
     
    • 开启redis客户端,输入下面内容(期望结果:redis中存在页面相同session id的key)
     
    keys *
     
     
     
     
     
     
     
     
     
     
     
    参考文章:
  • 相关阅读:
    WebGL-四之二
    WebGL-四之一
    mybatis中批量更新的问题
    nginx+tpmcat+redis实现session共享
    myeclipse快捷方式汇总
    StringBuffer的append方法比“+”高效
    《Thinking in Java》 And 《Effective Java》啃起来
    JAVA链表中迭代器的实现
    myeclipse从SVN检出项目报错
    C#中清空ListView中的数据
  • 原文地址:https://www.cnblogs.com/gdufs/p/6406738.html
Copyright © 2020-2023  润新知