Rootop 服务器运维与web架构

tomcat配置redis实现session共享

版本:
apache-tomcat-7.0.75
需要3个jar包
从 http://files.cnblogs.com/files/linjiqin/tomcat-redis-session.rar 下载

放到tomcat下的lib目录下

1、配置tomcat:
修改 conf/context.xml 追加到<Context></Context>段中

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="localhost"
port="6379"
database="0"
maxInactiveInterval="60" />

保存,有几个tomcat配置几个。
# database,redis 默认数据库从 0 开始 redis命令行中切换库用 select N
# maxInactiveInterval 单位秒,最大不活动时间,每接受一次请求就重新起算,直到不活动时间到达销毁session,或超过session的timeout值自动被销毁

安装redis略

1、修改redis:

追加一句
stop-writes-on-bgsave-error no
防止出现 http://blog.csdn.net/song19890528/article/details/38536871 文中的错误

测试,新建一个jsp页面

<%@ 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=ISO-8859-1">
<title>获取session id</title>
</head>
<body>
Session Id : <%= request.getSession().getId() %>
</body>
</html>

经过测试,当关闭浏览器后,浏览器session销毁,等待30分钟后,redis中的session也会销毁。

redis中默认会存放30分钟(客户端关闭浏览器后)是由 tomcat/conf/web.xml 文件控制

 <!-- ==================== Default Session Configuration ================= -->
 <!-- You can set the default session timeout (in minutes) for all newly -->
 <!-- created sessions by modifying the value below. -->

 <session-config>
 <session-timeout>30</session-timeout>
 </session-config>

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/3875.html

作者:Venus

专注于 服务器运维与web架构 E-mail:venus#rootop.org

评论已关闭。