(转)Tomcat7+Redis存储Session
原创http://blog.csdn.net/caiwenfeng_for_23/article/details/45666831
PS:截止到2015-05-12前是不支持Tomcat8的,详情见官网:https://github.com/jcoleman/tomcat-redis-session-manager
前提:你已经部署了Redis,尚未学会的,可以移步这里:http://blog.csdn.net/caiwenfeng_for_23/article/details/45511007
我的案例下载:http://download.csdn.net/detail/caiwenfeng_for_23/8689847
其实很简单,就几个步骤: 
1.配置Tomcat的conf目录下的context.xml文件:
1> 单点Reids配置
    <!--
    Jedis save session
    -->
    <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
        host="localhost"
        port="6379"
        database="0"
        maxInactiveInterval="60"/>
2> Sentinel集群配置:
        <!-- Sentinel 配置 -->
     <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
        maxInactiveInterval="60"
        sentinelMaster="mymaster"
        sentinels="127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381,127.0.0.1:26382"
        />
2.添加jar
3.测试
1> 
存储Session:
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("hello");
           //取得Session对象
        HttpSession session=request.getSession();
        //设置Session属性
        for(int i=0;i<100000;i++){
            session.setAttribute("name"+i, "Magci_"+i);
        }
    }
2>重启Tomcat:假如Session保存在tomcat下,重启后Session不存在;如果保存在Redis下,Tomcat重启对Session无影响
3>取出Session:
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("hello");
           //取得Session对象
        HttpSession session=request.getSession();
        //取出Session属性
        for(int i=0;i<100000;i++){
            System.out.println(session.getAttribute("name"+i));
        }
    }
注意事项:从Tomcat6开始默认开启了Session持久化设置,测试时可以关闭本地Session持久化,其实也很简单,在Tomcat的conf目录下的context.xml文件中,取消注释下面那段配置即可:
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
详见这篇博客:Session持久化的实例分析
(转)Tomcat7+Redis存储Session的更多相关文章
- Tomcat7+Redis存储Session(转)
		
PS:截止到2015-05-12前是不支持Tomcat8的,详情见官网:https://github.com/jcoleman/tomcat-redis-session-manager 前提:你已经部 ...
 - Tomcat 使用Redis存储Session
		
Tomcat Redis Session Github 地址. 下载 commons-pool2-2.2.jar,jedis-2.5.2.jar,tomcat-redis-session-manage ...
 - Asp.net Core 使用Redis存储Session
		
前言 Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储Session来做一个简单的测试,或者叫做中间件(middleware). 对于Session来说褒贬不一, ...
 - Redis存储Session
		
net Core 使用Redis存储Session 前言 Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储Session来做一个简单的测试,或者叫做中间件(m ...
 - redis存储session配制方法
		
redis存储session配制方法需要三个模块: 1.redis 2.express-session 3.connect-redis 项目中的配置方法代码片段如下: 首先连接redis,连接redi ...
 - 几分钟搞定redis存储session共享——设计实现
		
前面我们写过C#在redis中存储常用的5种数据类型demo,没看过的可以点击电梯直达:https://www.cnblogs.com/xiongze520/p/10267804.html 我们上一篇 ...
 - Spring Boot+redis存储session,满足集群部署、分布式系统的session共享
		
本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署.分布式系统的session共享. 原文链接:https://w ...
 - Redis使用示例及在PHP环境中用redis存储session
		
在文件夹redis-3.2.0下 1. 启动redis服务 nohup ./src/redis-server redis.conf & 2. 停止服务 #使用客户端 ./src/redis-c ...
 - [转]Asp.net Core 使用Redis存储Session
		
本文转自:http://www.cnblogs.com/hantianwei/p/5723959.html 前言 Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储 ...
 
随机推荐
- Linux 常用操作命令
			
基本操作 显示 查看 查找 定时任务 打包压缩 grep sed awk 正则
 - 搭建haproxy
			
1:下载haproxy wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz2:解压,编译,安装 tar zxf hapr ...
 - win10 64位安装memcache扩展和开启redis扩展
			
前面有关于win10下搭建wamp环境的介绍,在此不在赘述,php操作memcache有memcache库和memcached库,其中memcache是php内置的扩展库,支持面向对象和面向过程两种操 ...
 - Python学习笔记——迭代器(RandSeq和AnyIter)
			
1.RandSeq #coding:utf-8 #!/usr/bin/env python 'randSeq.py -- 迭代' #从random模块里仅仅导入choice方法 from random ...
 - 多光谱图像数据库, Multispectral images databses
			
1. https://scien.stanford.edu/index.php/hyperspectral-image-data/ 2. http://www.cs.columbia.edu/CAVE ...
 - Unable to load configuration. - Class: java.net.AbstractPlainSocketImpl
			
[Bug笔记]Unable to load configuration. - Class: java.net.AbstractPlainSocketImpl 标签: bugjartomcat服务器互联 ...
 - sicp-py
			
第一章 在第一章中,我们专注于计算过程,以及程序设计中函数的作用.我们看到了如何使用原始数据(数值)和原始操作(算术运算),如何通过组合和控制来形成复合函数,以及如何通过给予过程名称来创建函数抽象.我 ...
 - 今天又学了一招,牛逼!!!解决"-bash:No such file or directory"问题
			
今天在64服务器上:发现好像bash 坏了,用户名前边 用-bash 显示,,前几天就发现这个问题,,,但是当时忙没有解决,,,,,今天来看看到底是怎么回事! File Exists but... ...
 - ActiveMQ支持的传输协议
			
------------------------------------------------------ ActiveMQ支持的client-broker通讯协议有:TCP.NIO.UDP.SSL ...
 - nyoj 106背包问题(贪心专题)
			
背包问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w< ...