Sping-cloud解决session共享问题
使用
1、依赖
<!--spring-session-->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<!--redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<!--lettuce 堆外内存溢出-->
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 替换lettuce -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
2、开启
@SpringBootApplication
@EnableRedisHttpSession
public class GulimallOrderApplication {
public static void main(String[] args) {
SpringApplication.run(GulimallOrderApplication.class, args);
}
}
3、配置
application.properties
spring.session.store-type=redis
@Configuration
public class GulimallSessionConfig {
// cookie序列化器
@Bean
public CookieSerializer cookieSerializer(){
DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
// cookie的作用域名
cookieSerializer.setDomainName("gulimall.com");
// cookie的名称
cookieSerializer.setCookieName("GULISESSION");
return cookieSerializer;
}
// json序列化
@Bean
public RedisSerializer<Object> springSessionDefaultRedisSerializer(){
return new GenericJackson2JsonRedisSerializer();
}
}