springboot+redis实现session共享

Posted ruanjianlaowang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot+redis实现session共享相关的知识,希望对你有一定的参考价值。

1.场景描述

因项目访问压力有点大,需要做负载均衡,但是登录使用的是公司统一提供的单点登录系统,需要做session共享,否则假如在A机器登录成功,在B机器上操作就会存在用户未登录情况。

2. 解决方案

因项目是springboot项目,采用Springboot+Springsession+Redis来实现session共享。

2.1 pom.xml文件

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-redis</artifactId>
     <version>1.4.7.RELEASE</version>
 </dependency>
 <dependency>
     <groupId>org.springframework.session</groupId>
     <artifactId>spring-session-data-redis</artifactId>
 </dependency> 

2.2 springboot中开启session支持

springboot启动类添加@EnableRedisHttpSession标签来开启spring session支持,代码:

@EnableRedisHttpSession
@SpringBootApplication
public class SptestApplication 
    public static void main(String[] args) 
    
        SpringApplication.run(SptestApplication.class, args);
    

2.3 配置文件中增加配置项

在application.properties中增加配置项

spring.redis.host=10.192.168.13
spring.redis.port=6379

其他还有几个配置项,不影响使用,不详说了,需要了解的可以查看API。


以上是关于springboot+redis实现session共享的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot整合SpringSeesion实现Redis缓存

springboot+spring session+redis+nginx实现session共享和负载均衡

springboot集成springsession利用redis来实现session共享

使用idea,springboot,springsession,redis实现分布式微服务的session 共享

SpringBoot2.x+Redis+nginx实现session共享和负载均衡

SpringBoot(二十六)整合Redis之共享Session