SpringSession 利用redis做session共享

添加pom依赖支持

<!--session-->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-core</artifactId>
        </dependency>

在启动类上添加 redis和session的支持 

maxInactiveIntervalInSeconds 设置session有效时长
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)
 @GetMapping(value = "/hello")
    public CommonReturn sayHello(userVO vo, HttpServletRequest request)  {
        HttpSession session =request.getSession();
        if (session.getId().equals(session.getAttribute(session.getId()))){
            return CommonReturn.create(session.getAttribute(session.getId()));
        }else {
            return CommonReturn.create("凭证过期,请重新登陆");
        }

    }

 

    关于储存在redis中的session 当session过期后如何删除,这个问题可以从一下几个方面进行。

  1. 当用户主动退出,在业务层进行删除。这不比多说。
  2. 用户没有主动退出操作,此时存储的session到了过期时间,可以借助redis的淘汰策略 
  3. 即多长时间未访问删除策略。
  4. 利用SessionEventHttpSessionListenerAdapter 监听session销毁事件处理
    2018-12-30 16:53:05.419  INFO 7176 --- [enerContainer-3] c.e.d.c.redisConfig.SessionListener      : 新的session创建--->> 70b0638f-5216-4208-9301-ce31dd3f00fd
    2018-12-30 16:54:26.079  INFO 7176 --- [enerContainer-4] c.e.d.c.redisConfig.SessionListener      : 有session销毁 --->> 70b0638f-5216-4208-9301-ce31dd3f00fd

     

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值