spring-boot实战:共享session
来源:互联网 发布:什么软件防蓝光好 编辑:程序博客网 时间:2024/05/17 04:56
在工作中会遇到以下几个场景:
1. 发布新功能或修复bug,服务重启,用户需要重新登录
2. 当集群内某个节点失效时,用户明明刚登录,仍被提示需要重新登录
那如何做到服务发布、集群节点失效对用户无感知呢?有以下几种方式:
1. 使用cookie保存用户状态信息
2. session同步法(多个web-server之间相互同步session)
3. 后端统一存储(如:redis)
关于这几种方法的优缺点这里不再展开,可参看阅读《session一致性架构设计实践》,讲的很透彻,调理清晰。我们重点来看下如何通过后端统一存储来实现session共享,通过查找,发现了一个比较好的方案,spring-session,整合特别简单。
1、在项目内引入redis
参考我之前的一篇文档《spring boot项目实战:redis》,这里不再展开。
2、添加maven依赖
<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId></dependency>
3、添加java配置
@Configuration@EnableRedisHttpSession(maxInactiveIntervalInSeconds=7200,redisNamespace="base")public class RedisSessionConfig {}
- maxInactiveIntervalInSeconds用于设置session有效时间
- redisNamespace用于区分不同的项目,如果多个项目共用用户数据,可以采用相同的值,这样就简单的实现了统一登录效果
要提醒的一点是如果用户数据特别大,需要注意redis容量规范及数据库规范,尽量保证缓存键分类存储在不同的库内,如用户session数据存储在数据库1内,业务缓存存储在0内,以此类推。
阅读全文
0 0
- spring-boot实战:共享session
- spring boot session 共享
- 实战——session共享(Spring Boot + Spring Session + Redis)
- spring boot + redis 实现session共享
- spring boot + redis 实现session共享
- spring boot + redis 实现session共享
- spring boot + redis 实现session共享
- Spring Boot Session共享2种方式
- Spring Boot Session共享2种方式
- spring boot 共享session redis实现
- spring boot + redis 实现session共享
- spring boot + redis 实现session共享
- Spring Boot使用Redis实现session共享
- spring boot + redis 实现session共享
- Spring boot + redis 实现session 共享管理
- spring boot 实际应用(六) session共享问题
- spring boot整合redis实现shiro的分布式session共享
- spring boot实战之shiro session过期时间
- Spring自定义Handler关键点
- 第三章遇到的问题&搜到的解释3
- Ngnix技术研究系列2-基于Redis实现动态路由
- java HashMap原理分析
- POJ 1330 Nearest Common Ancestors(LCA)
- spring-boot实战:共享session
- SublimeText3常用快捷键和优秀插件
- 堆排序
- 第三章遇到的问题&搜到的解释4
- android开发-android的消息机制(Handler)源码解析
- 阿里巴巴Java开发手册重点解读(一)
- 大话设计模式之桥接模式
- Github工具(未完待续)
- LeetCode题解