关于springsession对session封装的一些疑问

来源:8-7 Spring Session实战-3:Cookie注入实战(上)

Echo鑫

2017-12-04

springsession对session封装后,会出现spring:session:expiration    spring:session:sessions   spring:session:expires 三个key,这三者的关系有点没弄明白, 我反复看了几遍,我根据老师的讲解,理解的是

expire控制expiration的有效期,expiration的有效期控制这session的有效期,并且当失效后,session这数据不会删除.

  1. 我这理解对吗,这样做的好处体现在哪?

  2. 我们设置的有效期是设置到了expires,而另外两个值是默认一致的,假若不设置的话,这三者的有效期时间是不是一样的?另外两个key的有效值是不是也可以在配置中进行注入设置?

  3. 为什么expires无效后,exipirations这个key自动删除了,而session这个key尽管无效却仍存在?

写回答

1回答

Geely

2017-12-05

你好同学

  1. 这几个在课程的spring session官方文档说明上有说,视频里也有讲

  2. 这么做的好处是实际的用户信息先不删除,保留一定冗余的时间。这个spring session这么设计的。因为在这个用户重新登录的话,用户信息这个稍微大一点的对象不用重新存了。只存小的时间数据就可以,提高io性能

        

   不设置的话也不会一样,这块源码里面是对咱们设置的时间然后增加了一些额外的时间处理


    3.这个就是和1的回答一样滴~~但是它也有ttl有效期。

0
1
Echo鑫
非常感谢!
2017-12-05
共1条回复

Java企业级电商项目架构 Tomcat集群与Redis分布式

Tomcat集群+Redis分布式+代码重构+源码原理解析

2685 学习 · 947 问题

查看课程