redis實現session共享

1、使用TomcatClusterRedisSessionManagercss

一、nginx配置好兩個tomcat實例分別爲192.168.1.70:8080和192.168.1.51:8080,具體請參考以前的博客html

二、下載TomcatClusterRedisSessionManager,根據以下步驟分別在兩個tomcat上java

Steps to be done,
1>. Move the downloaded jars to tomcat/lib directory
    * $catalina.home/lib/
    
2>. Add tomcat system property "catalina.base"
    * catalina.base="TOMCAT_LOCATION"nginx

3>. Configure downloaded Redis credentials in RedisDataCache.properties file and move the file to tomcat/conf directory
    * tomcat/conf/RedisDataCache.propertiesweb

4>. Add the below two lines in tomcat/conf/context.xml
    * <Valve className="com.r.tomcat.session.management.RequestSessionHandlerValve"/>
    * <Manager className="com.r.tomcat.session.management.RequestSessionManager"/>redis

5>. Verify the session expiration time in tomcat/conf/web.xml
    * <session-config>
    *   <session-timeout>60<session-timeout>
    * <session-config>瀏覽器

三、編寫測試頁面,新建web工程test-tomcat並在webRoot下編寫index.jsp以下,不一樣tomcat修改ip地址tomcat

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    192.168.1.70:${pageContext.session.id}
    <br>
  </body>
</html>

四、將上面的web工程分別放在tomcat/webapps目錄下,在瀏覽器裏面輸入nginx訪問地址,便可測試session

停掉其中任何一臺,session值不變,驗證成功app

2、tomcat-redis-session-manager

相關文章
相關標籤/搜索