集群部署Session共享Redis解决方案

Welcome read !

tomcat7 redis 存储session

链接一

链接二

使用redis的SessionManager实现多个Tomcat实例Session共享

准备工作

安装tomcat

安装redis

添加jar包

添加jar包到每一个tomcat实例的lib目录下

1
2
3
4
commons-pool2-2.2.jar
jedis-2.8.1.jar
tomcat-juli-7.0.54.jar
tomcat-redis-session-manager1.2.jar

jar包链接 密码:bwuy

tomcat配置文件context.xml

修改每个tomcat实例的context.xml文件

1
2
3
4
5
6
7
8
# vim conf/context.xml
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="192.168.1.101"
port="6379"
password="redis"
database="0"
maxInactiveInterval="60"/>

测试

编写session.jsp测试文件,使其能通过tomcat访问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
236
<%=request.getSession(true).getAttribute("name")%>
<br>
<%=request.getSession(true).getId()%>
<br>
<%=request.getSession(true).getAttribute("vcode")%>
<br>
<%=request.getSession(true)%>
<br>
<%=request%>
</body>
</html>

启动多个tomcat,访问session.jsp,session_id相同。