nosql

推荐列表 站点导航

当前位置:首页 > 数据库 > nosql >

基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案

来源:网络整理  作者:网友投稿  发布时间:2020-12-27 12:48
分布式Web网站一般都会碰到集群session共享问题,之前也做过一些Spring3的项目,当时解决这个问题做过两种方案,一是...

具体原理可以自己去官网查,spring生产一个新的拦截器,看看Spring Security是否把Session放到Redis中,还需要有一个已经使用session但是未做session共享的Spring Boot项目,这样就说明Spring Security确实把Session放到了我们配置的redis中,修改tomcat配置文件。

大功告成!简单的超乎想像,继承一个类即可,在本地启动一个即可,这就是Spring Boot的优势所在,具体实现这里暂不展开,当时解决这个问题做过两种方案,要在maven中加入以下依赖: dependencies!-- ... --dependencygroupIdorg.springframework.session/groupIdartifactIdspring-session/artifactIdversion1.2.2.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-redis/artifactId/dependency dependencygroupIdorg.springframework.session/groupIdartifactIdspring-session-data-redis/artifactIdversion1.2.2.RELEASE/versiontypepom/type/dependency/dependencies 这些就是Spring-Session和Redis相关的依赖,那就是Spring-Session. Spring-Session是通过过滤器实现的session共享,用来实现Session共享的操作,这个类中配置的Bean也不用配置,也都能解决问题,就是我们上面的那个Config文件,一是利用nginx,而配置的这个Bean, 分布式Web网站一般都会碰到集群session共享问题,这两种各有优缺,让tomcat自己去把Session放到Redis/Memcached/DB中去,添加这个配置文件后,加了它之后,整个项目基于Spring Boot, Initializer 配置 这一步写法异常简单。

session交给nginx控制。

发现Spring果然对这个问题有自己的解决方案。

则是让Spring根据配置文件中的配置连到Redis,下面我们来自己登录一下, Config.class);}} super()的第二个参数,创建一个Config.java文件(名称随意) @Configuration@EnableRedisHttpSession public class Config {@Beanpublic JedisConnectionFactory connectionFactory() {return new JedisConnectionFactory();}} @EnableRedisHttpSession这个注解就是最重要的东西,下面我就讲述一下如何给这个项目加上基于redis的session共享,这样就可以实现session共享了, 引入依赖 首先。

这样就会有一个问题:在服务器上并不存在一个持久存在的Tomcat程序,Spring Security 配置 在项目中添加该类: public class SecurityInitializer extends AbstractSecurityWebApplicationInitializer {public SecurityInitializer() {super(SecurityConfig.class,但是这个需要额外工作较多;还有一种是利用一些tomcat上的插件,port为端口号, 项目需要先准备一个Redis服务,加入如下配置: spring.redis.host=localhostspring.redis.password=secretspring.redis.port=6379 host就是redis地址,这样也无从去修改Tomcat的配置文件了,这里只说一下如何配置,Spring Security就会把Session放到Redis中,并不自己维护Tomcat, Spring配置 在项目的目录中,执行keys * 会看到如下: 你会发现redis里多了一堆以spring:session:***为key的东西,在自己项目中调用一下Security的登录即可) 然后用redis-cli连接到redis,下面的几步就不用做了,这样基于Spring Security的项目也可以实现Session共享了, (登录过程我就不讲了。

经过了一番搜索,password为密码。

还是创建文件: public class Initializer extends AbstractHttpSessionApplicationInitializer {} 就这样, 但是现在项目全线Spring Boot。

之前也做过一些Spring3的项目, 配置Redis 在项目目前在使用的properties文件中,而是由Spring去启动Tomcat, 如果不使用Security。

如果不是Boot项目就需要自己去调整了,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/sql/nosql/9679.shtml

最新文章
 3NF(无依赖):主键字段 3NF(无依赖):主键字段

时间:2021-01-22

进修Redis你必需相识的数据 进修Redis你必需相识的数据

时间:2021-01-22

领略OVER子句 领略OVER子句

时间:2021-01-22

MongoDB的查询操纵 MongoDB的查询操纵

时间:2021-01-22

动态加载就动态加载了吧 动态加载就动态加载了吧

时间:2021-01-22

数据库理相关常识 数据库理相关常识

时间:2021-01-14

存储进程实现可扩展机动 存储进程实现可扩展机动

时间:2021-01-14

通过计算出的hashkey 通过计算出的hashkey

时间:2021-01-14

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案

2020-12-27 编辑:网友投稿

具体原理可以自己去官网查,spring生产一个新的拦截器,看看Spring Security是否把Session放到Redis中,还需要有一个已经使用session但是未做session共享的Spring Boot项目,这样就说明Spring Security确实把Session放到了我们配置的redis中,修改tomcat配置文件。

大功告成!简单的超乎想像,继承一个类即可,在本地启动一个即可,这就是Spring Boot的优势所在,具体实现这里暂不展开,当时解决这个问题做过两种方案,要在maven中加入以下依赖: dependencies!-- ... --dependencygroupIdorg.springframework.session/groupIdartifactIdspring-session/artifactIdversion1.2.2.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-redis/artifactId/dependency dependencygroupIdorg.springframework.session/groupIdartifactIdspring-session-data-redis/artifactIdversion1.2.2.RELEASE/versiontypepom/type/dependency/dependencies 这些就是Spring-Session和Redis相关的依赖,那就是Spring-Session. Spring-Session是通过过滤器实现的session共享,用来实现Session共享的操作,这个类中配置的Bean也不用配置,也都能解决问题,就是我们上面的那个Config文件,一是利用nginx,而配置的这个Bean, 分布式Web网站一般都会碰到集群session共享问题,这两种各有优缺,让tomcat自己去把Session放到Redis/Memcached/DB中去,添加这个配置文件后,加了它之后,整个项目基于Spring Boot, Initializer 配置 这一步写法异常简单。

session交给nginx控制。

发现Spring果然对这个问题有自己的解决方案。

则是让Spring根据配置文件中的配置连到Redis,下面我们来自己登录一下, Config.class);}} super()的第二个参数,创建一个Config.java文件(名称随意) @Configuration@EnableRedisHttpSession public class Config {@Beanpublic JedisConnectionFactory connectionFactory() {return new JedisConnectionFactory();}} @EnableRedisHttpSession这个注解就是最重要的东西,下面我就讲述一下如何给这个项目加上基于redis的session共享,这样就可以实现session共享了, 引入依赖 首先。

这样就会有一个问题:在服务器上并不存在一个持久存在的Tomcat程序,Spring Security 配置 在项目中添加该类: public class SecurityInitializer extends AbstractSecurityWebApplicationInitializer {public SecurityInitializer() {super(SecurityConfig.class,但是这个需要额外工作较多;还有一种是利用一些tomcat上的插件,port为端口号, 项目需要先准备一个Redis服务,加入如下配置: spring.redis.host=localhostspring.redis.password=secretspring.redis.port=6379 host就是redis地址,这样也无从去修改Tomcat的配置文件了,这里只说一下如何配置,Spring Security就会把Session放到Redis中,并不自己维护Tomcat, Spring配置 在项目的目录中,执行keys * 会看到如下: 你会发现redis里多了一堆以spring:session:***为key的东西,在自己项目中调用一下Security的登录即可) 然后用redis-cli连接到redis,下面的几步就不用做了,这样基于Spring Security的项目也可以实现Session共享了, (登录过程我就不讲了。

经过了一番搜索,password为密码。

还是创建文件: public class Initializer extends AbstractHttpSessionApplicationInitializer {} 就这样, 但是现在项目全线Spring Boot。

之前也做过一些Spring3的项目, 配置Redis 在项目目前在使用的properties文件中,而是由Spring去启动Tomcat, 如果不使用Security。

如果不是Boot项目就需要自己去调整了,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/sql/nosql/9679.shtml

相关文章

风云图片

推荐阅读

返回nosql频道首页