谈谈你对网站开发的理解,外贸网站建设资料,成都网站优化推广,前端开发培训课程应用范围 为了使Web能适应大规模的访问,需要实现应用程序的集群部署实现集群部署首先要解决session的统一#xff0c;即需要实现session的共享机制#xff0c;即分布式会话分布式Session的实现方式 基于resin/tomcat web容器本身的session复制机制基于NFS共享文件系统基于Coo…应用范围 为了使Web能适应大规模的访问,需要实现应用程序的集群部署实现集群部署首先要解决session的统一即需要实现session的共享机制即分布式会话分布式Session的实现方式 基于resin/tomcat web容器本身的session复制机制基于NFS共享文件系统基于Cookie进行session共享基于数据库的Session共享基于分布式缓存的Session共享如memcachedRedisjbosscache基于ZooKeeper的Session共享下面我们将演示基于Spring Session的实现这个是基于Redis缓存的Session共享。
方法一
如果配置的Redis的是自己在维护那很方便就可以实现了。
添加依赖
只需要在pom文件添加以下依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-redis/artifactId
/dependencydependencygroupIdorg.springframework.session/groupIdartifactIdspring-session/artifactId
/dependency启动类添加EnableRedisHttpSession注解
配置文件application.properties
spring.redis.hostlocalhost
spring.redis.port6379
server.session.timeout36000Spring Boot会自动把session从文件存储方式切换到Redis方式根本不需要再做任何配置。
方法二
如果配置的Redis的不是自己在维护不能够更改它的配置(如应用程序部署在阿里云同时使用阿里云的Redis数据库)那就有点麻烦了。
额外功能 因为方法1需要Redis的一个功能
notify-keyspace-events默认情况下这个功能是不开启的。
开启额外功能 如果你要使用方法1你就必须通过下面的命令来让你的Reids开启这个功能。
redis-cli config set notify-keyspace-events Egx那就必须新建如下RedisSessionConfig类即可在不改变Redis配置的前提下使用Redis来存储Session了。
RedisSessionConfig
package com.jege.spring.boot.Config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.ConfigureRedisAction;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;/*** 在不改变Redis配置的前提下使用Redis来存储Session了*/
Configuration
//在这里设置Session过期时间单位秒
EnableRedisHttpSession(maxInactiveIntervalInSeconds 36000)
public class RedisSessionConfig {Beanpublic static ConfigureRedisAction configureRedisAction() {return ConfigureRedisAction.NO_OP;}
}Spring Session默认会话时间
Spring Session默认的Session过期时间是30分钟。
采用方法1的时候你可以在application.properties里配置
server.session.timeout36000来设置Session过期时间单位是秒。
如果采用方法2来配置Session 那么application.properties里设置的Session过期时间是不起作用的。 必须使用上面RedisSessionConfig类里注解的参数来设置。
如果感觉不错的话记得点赞哟