目录
[TOC]
官方文档
https://spring.io/projects/spring-session/
快速使用下面配置集成Spring Session实现分布式微服务之间实现Session数据共享,Session的数据统一存储在redis中,每个微服务需要集成下面代码,可以放到公共模块中
引入依赖
1 2 3 4 5
| <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
|
配置
1 2 3 4
| spring: session: store-type: redis timeout: 30
|
配置类
在每个启动类上加上@EnableRedisHttpSession//开启Spring Session实现Session共享
或直接统一在配置类上加,然后将配置类放在公共模块中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| @EnableRedisHttpSession @Configuration public class SpringSessionConfig { @Bean public CookieSerializer cookieSerializer() {
DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
cookieSerializer.setDomainName("xiaofei.com"); cookieSerializer.setCookieName("XIAOFEISESSION");
return cookieSerializer; }
@Bean public RedisSerializer<Object> springSessionDefaultRedisSerializer() { return new GenericJackson2JsonRedisSerializer(); } }
|
使用Spring Session解决分布式Session共享问题