现在的位置: 首页 > 编程语言 > 正文

Springsession整合到Redis过程解析

2020年02月13日 编程语言 ⁄ 共 1461字 ⁄ 字号 评论关闭

为何要用Spring-session

在传统单机web应用中,一般使用tomcat/jetty等web容器时,用户的session都是由容器管理。浏览器使用cookie中记录sessionId,容器根据sessionId判断用户是否存在会话session。这里的限制是,session存储在web容器中,被单台服务器容器管理。

但是网站主键演变,分布式应用和集群是趋势(提高性能)。此时用户的请求可能被负载分发至不同的服务器,此时传统的web容器管理用户会话session的方式即行不通。除非集群或者分布式web应用能够共享session,尽管tomcat等支持这样做。但是这样存在以下两点问题:

需要侵入web容器,提高问题的复杂

web容器之间共享session,集群机器之间势必要交互耦合

有了spring-session之后,我们可以将session保存到Redis、Mongodb等nosql数据库。这样就避免了单点缓存的限制。

Let's do it

1.引入jar包

<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId></dependency><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependency>

2、在application.properties中加入如下配置文件

#设置session存储格式为redisspring.session.store-type=redisserver.servlet.session.timeout=3600#session更新策略,有ON_SAVE、IMMEDIATE,前者是在调用#SessionRepository#save(org.springframework.session.Session)时,在response commit前刷新缓存,#后者是只要有任何更新就会刷新缓存spring.session.redis.flush-mode=on-savespring.session.redis.namespace=spring:session#redis配置spring.redis.database=0spring.redis.host=10.34.51.234spring.redis.password=123456spring.redis.pool.max-active=8spring.redis.pool.max-idle=8spring.redis.pool.max-wait=-1spring.redis.pool.min-idle=0spring.redis.port=6379

3、配置redis服务器

(略)

4、编写SpringBoot程序

5、运行登录一下吧

可以看到查看到了session信息

6、未完成序列化操作。不过我感觉也没必要完成序列化操作吧~

结束!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: Spring session整合到Redis过程解析

以上就上有关Springsession整合到Redis过程解析的相关介绍,要了解更多Spring,session,整合,Redis内容请登录学步园。

抱歉!评论已关闭.