使用spring-session redis共享session

原因

  • 之前有一篇分享过session共享的方案,redis共享session确实有很多好处,但是在原有的工程上面添加去修改session放到redis里面去,确实有一定的改动量。但是我们可以通过spring提供的spring-session和redis做到无感切换session。原理是spring做了一层拦截器,对Session做了一层封装,当我们进行调用session.setAttribute()的时候,其实在进入spring封装好的方法中,存放到redis中去了。

spring boot 配置

  • maven 添加

    <dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
    </dependency>
  • properties配置
# Session store type
spring.session.store-type=redis
# Session timeout. If a duration suffix is not specified, seconds will be used. session过期时间
server.servlet.session.timeout=3600
# Sessions flush mode.
spring.session.redis.flush-mode=on-save
# Namespace for keys used to store sessions.
spring.session.redis.namespace=spring:session
  • 开启RedisHttpSession
    @EnableRedisHttpSession 就差不多了。。
相关文章
相关标签/搜索