189 8069 5689

Springsession整合到Redis过程解析

为何要用Spring-session

创新互联-专业网站定制、快速模板网站建设、高性价比西夏网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式西夏网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖西夏地区。费用合理售后完善,10余年实体公司更值得信赖。

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

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

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

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

Spring session整合到Redis过程解析

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

Let's do it

1.引入jar包


  org.springframework.session
  spring-session-data-redis


  redis.clients
  jedis
  2.9.0

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

#设置session存储格式为redis
spring.session.store-type=redis
server.servlet.session.timeout=3600
#session更新策略,有ON_SAVE、IMMEDIATE,前者是在调用#SessionRepository#save(org.springframework.session.Session)时,在response commit前刷新缓存,#后者是只要有任何更新就会刷新缓存
spring.session.redis.flush-mode=on-save
spring.session.redis.namespace=spring:session
#redis配置
spring.redis.database=0
spring.redis.host=10.34.51.234
spring.redis.password=123456
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.port=6379

3、配置redis服务器

(略)

4、编写SpringBoot程序

Spring session整合到Redis过程解析

5、运行登录一下吧

Spring session整合到Redis过程解析

可以看到查看到了session信息

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

结束!

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


网页名称:Springsession整合到Redis过程解析
URL网址:http://jkwzsj.com/article/poeodh.html

其他资讯