前言:

在单个项目时,一般都是用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. Laravel 5.4 实现无限级分类

    最近在工作中遇到一个需求,是要在laravel 5.4中实现无限级分类,但发现网上这个的资料较少,所以只能自己来实现了,下面这篇文章主要给大家介绍了关于在laravel 5.4中实现无限级分类的方法示 ...

  2. 中介者模式c#(媒婆版)

    using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace 中介者模式{  ...

  3. DataStage 六、安装和部署集群环境

    DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 DataStage 三.配置ODBC Da ...

  4. 安装及运行 RabbitMQ 服务器 (windows)

    1. 一些网址 http://www.rabbitmq.com/ http://www.rabbitmq.com/install-windows.html http://www.rabbitmq.co ...

  5. 创建圆角 抛出一个错误:二元运算符“|”不能用于两个UIRectCorner操作数

    //        let beizer:UIBezierPath = UIBezierPath(roundedRect: btn5.bounds, byRoundingCorners: UIRect ...

  6. flume学习以及ganglia(若是要监控hive日志,hive存放在/tmp/hadoop/hive.log里,只要运行过hive就会有)

    python3.6hdfs的使用 https://blog.csdn.net/qq_29863961/article/details/80291654 https://pypi.org/  官网直接搜 ...

  7. 用 pyqt4 编写的一个翻译小工具

    有时候我们在开发时遇到一些陌生的英文单词或者不容易看出某些长句的中文意思时该怎么办呢?打开桌面上的翻译软件?打开浏览器里收藏着的翻译网址或者直接贴上百度的搜索框去查?这些方法固然可以,还很常见,但如果 ...

  8. kali下搭建WiFi钓鱼热点

    在linux下建立无线热点并不像在windows下开启网络共享或者使用无线网卡驱动设置AP模式即可. linux下的无线共享要用到两个软件:hostapd(创建无线热点).dnsmasq(dns服务和 ...

  9. zookeeper zoo.cfg配置文件

      一.zookeeper的配置文件  zoo.cfg   配置文件是我们安装zookeeper的时候复制 重命名出来的文件    命令: cp zoo_smaple.cfg zoo.cfg zkSe ...

  10. java向数据库插入N条数据

    为了测试mysql的索引,要向数据库先插入上万条数据,然后再测试.手动插入太麻烦,写了一段代码. 先上代码: package action; import java.sql.Connection; i ...