首页 > 编程语言 > 详细

SpringBoot+redis实现分布式session共享

时间:2019-08-08 01:48:06      阅读:142      评论:0      收藏:0      [点我收藏+]

1.导入依赖

@EnableRedisHttpSession这个注解是由spring-session-data-redis提供的

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

2.添加@EnableRedisHttpSession来开启spring session支持

@Configuration  
@EnableRedisHttpSession  
public class RedisSessionConfig {  
} 

3.在配置文件里配置spring session

spring.session.store-type=redis     #指定redis实现spring session储存

server.servlet.session.timeout=3600     # Session过期时间,单位s

#session更新策略,有ON_SAVE、IMMEDIATE
#前者是在调用#SessionRepository.save(org.springframework.session.Session)时,在response commit前刷新缓存
#后者是只要有任何更新就会刷新缓存
spring.session.redis.flush-mode = on-save

spring.session.redis.namespace=SESSIONS    #用于存储会话的密钥的命名空间。

4.共享session

controller中通过参数(HttpServletRequest request)
request.getSession().setAttribute("requestUrl", request.getRequestURL());

session会自动保存在redis中。
然后访问不同的服务器(同一个redis)可以获取同一个session,实现session共享。

SpringBoot+redis实现分布式session共享

原文:https://www.cnblogs.com/loveer/p/11318680.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!