介绍
Spring Boot中spring session支持方式有:
- JDBC
- MongoDB
- Redis
- Hazelcast
- HashMap
session集群的解决方案:
扩展指定server
利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略。缺点:耦合Tomcat/Jetty等Servlet容器,不能随意更换容器。
利用Filter
利用HttpServletRequestWrapper,实现自己的 getSession()方法,接管创建和管理Session数据的工作。spring-session就是通过这样的思路实现的。
pom文件引入:
1 | <!-- spring session --> |
配置:
1 | # spring session使用存储类型 |
测试:
定义两个项目,更改配置文件spring.session.store-type=redis
和spring.session.store-type=none
比较两个文件的sessionID:
1 | "/index") (value = |