温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

springBoot(20):使用Spring Session实现集群-redis

发布时间:2020-06-13 16:48:05 来源:网络 阅读:1816 作者:我爱大金子 栏目:建站服务器

一、session集群的解决方案

1.1、扩展指定server

利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略。缺点:耦合Tomcat/Jetty等Servlet容器,不能随意更换容器。

1.2、利用Filter

利用HttpServletRequestWrapper,实现自己的 getSession()方法,接管创建和管理Session数据的工作。spring-session就是通过这样的思路实现的。

 

Spring Boot中spring session支持方式:

 JDBC、MongoDBRedis、Hazelcast、HashMap


二、实现

2.1、添加依赖

<!-- spring session -->
<dependency>
   <groupId>org.springframework.session</groupId>
   <artifactId>spring-session</artifactId>
</dependency>
<!--spring session 与redis应用基本环境配置,需要开启redis后才可以使用,不然启动Spring boot会报错 -->
<dependency>
   <groupId>org.springframework.session</groupId>
   <artifactId>spring-session-data-redis</artifactId>
</dependency>
<!-- redis -->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-redis</artifactId>
</dependency>

2.2、配置application.properties

########################spring session开始################
# spring session使用存储类型
spring.session.store-type=redis
# spring session刷新模式:默认on-save
#spring.session.redis.flush-mode=on-save
#spring.session.redis.namespace=
# session超时时间,单位秒
#server.session.timeout=30
#########################spring session结束################
#########################redis开始#########################
spring.redis.host=192.168.175.13
spring.redis.port=6379
spring.redis.password=123456
#spring.redis.database=0
#spring.redis.pool.max-active=8
#spring.redis.pool.max-idle=8
#spring.redis.pool.max-wait=-1
#spring.redis.pool.min-idle=0
#spring.redis.timeout=0
#########################redis结束#########################

2.3、测试

新建两个应用,都按上面的配置,一个开8989端口,一个开8988端口,效果如下:

 springBoot(20):使用Spring Session实现集群-redis


 springBoot(20):使用Spring Session实现集群-redis


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI