一、session集群的解決方案
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)蓬萊,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
1.1、擴(kuò)展指定server
利用Servlet容器提供的插件功能,自定義HttpSession的創(chuàng)建和管理策略,并通過配置的方式替換掉默認(rèn)的策略。缺點(diǎn):耦合Tomcat/Jetty等Servlet容器,不能隨意更換容器。
1.2、利用Filter
利用HttpServletRequestWrapper,實(shí)現(xiàn)自己的 getSession()方法,接管創(chuàng)建和管理Session數(shù)據(jù)的工作。spring-session就是通過這樣的思路實(shí)現(xiàn)的。
Spring Boot中spring session支持方式:
JDBC、MongoDB、redis、Hazelcast、HashMap
二、實(shí)現(xiàn)
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使用存儲(chǔ)類型 spring.session.store-type=redis # spring session刷新模式:默認(rèn)on-save #spring.session.redis.flush-mode=on-save #spring.session.redis.namespace= # session超時(shí)時(shí)間,單位秒 #server.session.timeout=30 #########################spring session結(jié)束################ #########################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結(jié)束#########################
2.3、測(cè)試
新建兩個(gè)應(yīng)用,都按上面的配置,一個(gè)開8989端口,一個(gè)開8988端口,效果如下: