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 *
 
 
 
 
 
 
 
 
 
 
 
參考文章:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM