博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot 分布式Session状态保存Redis
阅读量:4688 次
发布时间:2019-06-09

本文共 1316 字,大约阅读时间需要 4 分钟。

在使用spring boot做负载均衡的时候,多个app之间的session要保持一致,这样负载到不同的app时候,在一个app登录之后,而打到另外一台服务器的时候,session丢失。

常规的解决方案都是使用:如apache使用mod_jk.conf。

在开发spring boot app的时候可以借助 spring session 和redis,用外置的redis来存储session的状态。

直接上代码,我这边直接默认你使用spring boot,如果你是普通的spring web项目,请参照  ,在spring boot配置更简单

1、增加repository到pom.xml

spring-milestone
https://repo.spring.io/libs-milestone

2、增加相关依赖

org.springframework.boot
spring-boot-starter-redis
org.springframework.session
spring-session-data-redis
1.0.0.RC1
pom

3、RedisSessionConfig.java

package com.wisely.base;import org.springframework.context.annotation.Configuration;import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;@Configuration@EnableRedisHttpSessionpublic class RedisSessionConfig {
}

4、相关配置修改

在application.properties修改redis配置信息(请自行安装redis),请根据实际修改。如:

spring.redis.host=192.168.1.103

5、所有实体类实现Serializable接口

public class SysResource implements Serializable

6、查看效果

这时候登录系统在不同的app之间跳转的时候,session都是一致了,redis上可以看到:

7、总结

使用这些代码之后 ,无论你使用nginx或者apache,都无须在关心多个app之间的session一致的问题了。

转载于:https://www.cnblogs.com/duyinqiang/p/5696497.html

你可能感兴趣的文章
匹配两个空格之间的字符。。。
查看>>
CSS 文字溢出 变成省略号 ...
查看>>
Spring事务
查看>>
java编程基础(三)流程控制语句
查看>>
让数据库跑的更快的7个MySQL优化建议
查看>>
jquery 取id模糊查询
查看>>
解决在vue中,自用mask模态框出来后,下层的元素依旧可以滑动的问题
查看>>
修改node节点名称
查看>>
Java 文件下载
查看>>
图论——读书笔记 (深度优先搜索)
查看>>
PAT(B) 1014 福尔摩斯的约会(Java)
查看>>
PAT甲级题解-1123. Is It a Complete AVL Tree (30)-AVL树+满二叉树
查看>>
项目开发总结报告(GB8567——88)
查看>>
SSH加固
查看>>
端口扫描base
查看>>
iOS IM开发的一些开源、框架和教程等资料
查看>>
FansUnion:共同写博客计划终究还是“流产”了
查看>>
python 二维字典
查看>>
编译原理实验一
查看>>
Git for Android Studio 学习笔记
查看>>