千家信息网

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

发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,一、session集群的解决方案1.1、扩展指定server利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略。缺点:耦合Tomcat
千家信息网最后更新 2025年01月28日springBoot(20):使用Spring Session实现集群-redis

一、session集群的解决方案

1.1、扩展指定server

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

1.2、利用Filter

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


Spring Boot中spring session支持方式:

JDBC、MongoDB、Redis、Hazelcast、HashMap


二、实现

2.1、添加依赖

   org.springframework.session   spring-session   org.springframework.session   spring-session-data-redis   org.springframework.boot   spring-boot-starter-redis

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.13spring.redis.port=6379spring.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端口,效果如下:



0