2019独角兽企业重金招聘Python工程师标准>>>

因为多台服务器负载均衡,在获取客户端的sessionId的时候,会出现第一次和第二次不一样,因为负载均衡的缘故,你的服务器最少两台,那么客户端连接第一次请求和第二次请求如果不是同一台服务器的时候那么sessionId就会变,为了解决这个问题,我想到了session共享,如果两台服务器的session都存在redis上,那就不会有问题了

第一步pom文件引入jia包

<!--redis配置开始-->
<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId>
</dependency>
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId>
</dependency>
<dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId>
</dependency>
<!--redis配置结束-->

第二部配置文件配置redis

spring.redis.database=1
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
spring.redis.pool.max-active=20
spring.redis.pool.min-idle=20

第三步设置redissession配置

package com.hisun.framework;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.ConfigureRedisAction;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;//用户session的生效时间是使用的这个单位是秒
@Configuration
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 7 * 24 * 3600)
public class RedisSessionConfig {@Beanpublic ConfigureRedisAction configureRedisAction() {//如果是自己搭建的redis或者阿里云redis此处可以没有,因为开发了redis的config命令,但是亚马逊的redis是不开发config命令的,必须要此段代码return ConfigureRedisAction.NO_OP;}
}

这三部配置好就实现了session共享

测试截图

测试controller代码

package com.hisun.test.controller;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;import com.hisun.framework.controller.CommonController;@RestController
@RequestMapping("/${sys.name}")
public class RoomController extends CommonController {@RequestMapping(value = "/web/testsession", method = RequestMethod.GET)public String testsession(HttpServletRequest request, HttpServletResponse response, HttpSession session) {String sss = session.getId();return sss;}}

转载于:https://my.oschina.net/u/1858920/blog/2056336

shing boot 做session共享 redis相关推荐

  1. 学习Spring Boot:(十八)Spring Boot 中session共享

    前言 前面我们将 Redis 集成到工程中来了,现在需要用它来做点实事了.这次为了解决分布式系统中的 session 共享的问题,将 session 托管到 Redis. 正文 引入依赖 除了上篇文章 ...

  2. 基于tomcat集群做session共享

    前端代理服务器nginx:192.168.223.136 tomcat服务器:采用的一台多实例192.168.223.146:8081,192.168.223.146:8082(如何构建多实例tomc ...

  3. Nginx安装,Nginx静态缓存,Nginx Gzip压缩,Nginx负载均衡,Nginx方向代理,Nginx+Tomcat+Redis做session共享

    Nginx安装 nginx-1.10.1.tar.gz安装,参考http://blog.csdn.net/tototuzuoquan/article/details/47381907. 修改nginx ...

  4. Nginx安装,Nginx静态缓存,Nginx Gzip压缩,Nginx负载均衡,Nginx方向代理,Nginx+Tomcat+Redis做session共享...

    Nginx安装 nginx-1.10.1.tar.gz安装,参考http://blog.csdn.net/tototuzuoquan/article/details/47381907. 修改nginx ...

  5. redis实现session共享

    session共享 什么是session? 由于 HTTP 协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户.Session 是另一种记录客户状态的机制,不同的是 C ...

  6. session共享怎么做的(分布式如何实现session共享)?

    session共享怎么做的(分布式如何实现session共享)?  问题描述:一个用户在登录成功以后会把用户信息存储在session当中,这时session所在服务器为server1,那 么用户在 s ...

  7. C#session共享+redis_Shiro权限管理框架(二):Shiro结合Redis实现分布式环境下的Session共享...

    精品推荐 国内稀缺优秀Java全栈课程-Vue+SpringBoot通讯录系统全新发布! Docker快速手上视频教程(无废话版)[免费] 作者:夜月归途 转载自: https://www.cnblo ...

  8. php 获取cookieid,Redis实现Session共享详解

    Redis实现Session共享 这几天在做session共享这么一个小模块,也查了好多资料,给我的感觉,就是太乱了,一直找不到我想要的东西,几乎全部实现方法都与我的想法不一样,在这里,我总结一下自己 ...

  9. Redis解决老项目集群Session共享案例与回顾

    老项目突然之间客户要用了而且用户量还不少,后端移动端都需要给升级.第一改进的时候做了移动端与后端的服务分流,这次升级为分布式集群模式.分布式集群模式需要解决Session共享问题和数据一致性分布式锁处 ...

最新文章

  1. android双击返回键退出程序的实现
  2. android布局加色,android – 如何以编程方式将LinearLayout添加背景颜色,并将权重添加到另一个布局...
  3. 集合打印出来的信息不是输入的信息
  4. C++ 学习笔记---零散的基础知识
  5. 【循序渐进学Python】9.异常处理
  6. SpringBoot2.1.5 (9)--- GET 请求
  7. 剑指offer之字符流中第一个不重复的字符
  8. c++语言将任意进制转化10进制,C++ 基础编程之十进制转换为任意进制及操作符重载...
  9. 多重继承java_Java中的多重继承
  10. AutoCAD .NET二次开发(一)
  11. BZOJ 1002: [FJOI2007]轮状病毒【生成树的计数与基尔霍夫矩阵简单讲解+高精度】
  12. 因子分析后如何进行聚类分析?
  13. 恶意软件清理助手 1.76
  14. A-priori算法的简单实现
  15. 台式计算机规格型号怎么查,台式电脑主板型号在哪里看
  16. Windows无法安装到GPT格式磁盘的根本解决办法 - 初学者系列 - 学习者系列文章...
  17. mongo慢查询排查
  18. 微信小程序中使用腾讯地图,导航到目的地
  19. Linux如何更改root用户密码
  20. WGS84(GPS坐标) BD09坐标(百度坐标)GCJ02(国测局坐标) 的相互转换

热门文章

  1. 通过堡垒机/跳板机实现文件在本地Mac与服务器之间的互传
  2. 爬虫入门实战第一站——梨视频视频爬取
  3. fastboot的安装使用
  4. 安卓巴士自测试题——第七期
  5. Java 专项练习【1 - 10】,突围金三银四面试季
  6. 洛谷:P1042 [NOIP2003 普及组] 乒乓球 C++详解
  7. java计算机毕业设计医院病历管理系统源程序+mysql+系统+lw文档+远程调试
  8. 人工智能ai用什么编程语言_2020年人工智能的5种最佳编程语言
  9. 计算机信息安全法规和道德规范,信息安全法律法规与道德规范ppt
  10. PS保留渐变进行换色