前言:

在单个项目时,一般都是用HttpSession接口存储当前登录用户的信息。但是在分布式项目的情况下,session是不会共享的,那怎么实现session共享呢?往下看。。。。

一、准备工作(基于centos7)

  1.linux版本的redis 下载地址:http://download.redis.io/releases/redis-3.2.9.tar.gz

  2.commons-pool2.jar 下载地址:https://pan.baidu.com/s/1nFU0oINw_1c_LKHa05JRHA 密码:traq

  3.jedis-2.5.2.jar 下载地址:https://pan.baidu.com/s/159z7Q4qa3fuHBih2NOA9SQ 密码:3xyi

  4.tomcat-redis-session-manager 下载地址:https://pan.baidu.com/s/1DCwnioyK_nhrMRd8AEOIMg 密码:5476

  5.tomcat7 下载地址:http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.90/bin/apache-tomcat-7.0.90.tar.gz

  6.redis可视化工具(windowns版)下载地址:https://pan.baidu.com/s/1Jxp8I-7AK6dqrjUGYoeB1g 密码:0op5

二、配置

  1.把 commons-pool2.jar,jedis-2.5.2.jar,tomcat-redis-session.manager.jar 这三个jar包放到tomcat的lib下

  2.修改tomcat端口,不修改记得开放当前tomcat的端口

  3.修改tomcat conf目录下的conetxt.xml 

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

  4,启动redis ,启动命令:redis-server redis.conf

  5,修改tomcat webapp下ROOT,index.jsp 把

  删除第一个红框,增加第一个红框,

  启动tomcat,可以看见,当前的sessionId,打开redis可视化工具连接服务器,看页面的sessionId和reids客户端的是否一致,

  这时可以多开几个tomcat看一下,每隔tomcat的sessionId是否一致。

 三、问题

  session失效时间:

    设置实销时间,需要在项目的web.xml和tomcat的web.xml设置session-config,timeout 。时间单位为分钟,记住不要在tomcat的conetxt.xml中设置,否则是不会生效的。

  session的时间重置

    每次request请求都会刷新session,使得Session的销毁时间最后一次操作加你设置的时间

  session会提前销毁。

    这是我在项目中遇到的问题,我在项目中设置登陆用session的失效时间是60分 但是在线上的运行的时候,不到一个小时就自动退出了,这个问题这两天我一直再找。

  

Redis实现分布式存储Session的更多相关文章

  1. 基于redis的处理session的方法

    一个基于redis的处理session的方法,如下. <?php class Session_custom { private $redis; // redis实例 private $prefi ...

  2. Redis学习笔记~StackExchange.Redis实现分布式Session

    回到目录 对于多WEB的环境现在已经是必须的了,很难想像一台WEB服务器面对百万并发的响应,所以,我们需要多台WEB服务器集群合作,来缓解这种高并发,高吞吐的场景,而对于多WEB的场景又会有个问题出现 ...

  3. 基于Redis缓存的Session共享(附源码)

    基于Redis缓存的Session共享(附源码) 在上一篇文章中我们研究了Redis的安装及一些基本的缓存操作,今天我们就利用Redis缓存实现一个Session共享,基于.NET平台的Seesion ...

  4. springboot 集成spring-session redis 实现分布式session

    gradle 添加依赖 compile("org.springframework.session:spring-session:1.3.0.RELEASE") compile(&q ...

  5. springboot+redis实现分布式session共享

    官方文档,它是spring session项目的redis相关的一个子文档:https://docs.spring.io/spring-session/docs/2.0.0.BUILD-SNAPSHO ...

  6. SpringBoot进阶教程(二十六)整合Redis之共享Session

    集群现在越来越常见,当我们项目搭建了集群,就会产生session共享问题.因为session是保存在服务器上面的.那么解决这一问题,大致有三个方案,1.通过nginx的负载均衡其中一种ip绑定来实现( ...

  7. springboot集成springsession利用redis来实现session共享

    转:https://www.cnblogs.com/mengmeng89012/p/5519698.html 这次带来的是spring boot + redis 实现session共享的教程. 在sp ...

  8. Redis实现分布式Session

    相关博客: http://www.cnblogs.com/yanweidie/p/4763556.html http://www.cnblogs.com/lori/p/5368722.html?utm ...

  9. Spring-session redis 子域名 session

    Spring-session & redis 子域名共享session 例子: a.example.comb.example.comSpring 版本 4.2.6.RELEASE Spring ...

随机推荐

  1. MFC The Screen Flickers When The Image Zoomed

    问题描述 当初写MFC也是不情愿的. 既然写了,遇到一些问题. 解决也废了一切功夫.所以简单的记录一下. 这个问题,也就是使用MFC显示图像的时候, 放缩图像的过程中, 图像会一闪一闪的. 这个问题的 ...

  2. Windows c++程序的基本结构

    Windows c++程序的基本结构 1.一个完整的Windows应用程序通常由五种类型的文件组成 C语言源程序文件 头文件 模块定义文件 资源描述文件 项目文件 2.Windows应用程序构成基本框 ...

  3. .net二纬码标签打印

    在企业开发中经常用到二纬码标签,本文详细介绍.net环境下整个二纬码解决方案. 开发环境  vs2008  DevExpress8.3  ThoughtWorks.QRCode (二纬码生成组件,高版 ...

  4. Android 4.0关于开机启动服务

    针对使用App应用管理强制停止的App,重启系统后不能收到开机启动, 需要运行一次后,在下次再启动时,才可以正确收到.

  5. CodeForces 681A A Good Contest (水题)

    题意:给定 n 个人和before, after的分数,让你找 before 的分数大于等于2400并且before 小于 after. 析:看完题意就知道怎么算了吧..不用说了 #include & ...

  6. Web数据挖掘综述

     

  7. java 文件中 定义一个字符串,它的默认编码是什么?

    .java 文件的编码就是 String 字符串的编码 File 文件的编码就是 文件内容的编码 request 的设置的编码就是inputstream 的编码 jvm 的默认编码(the defau ...

  8. Google Tango service outdated谷歌Tango的服务过时了

    If you device showed "tango service outdated." It means that your Tango Core need to be up ...

  9. (字典树)Revenge of Fibonacci -- HDU -- 4099

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=4099 要用c++交哦, G++ MLE 不是很懂,先粘上慢慢学习 代码: #include<std ...

  10. java并发编程实战:第四章----对象的组合

    一.设计线程安全的类 找出构造对象状态的所有变量(若变量为引用类型,还包括引用对象中的域) 约束状态变量的不变性条件 建立对象状态的并发访问管理策略(规定了如何维护线程安全性) 1.收集同步需求(找出 ...