十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、session集群的解决方案
创新互联公司主要从事成都网站设计、网站建设、外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务蓬莱,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
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.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端口,效果如下: