SpringSession中的sessionId什么时候会过期
使用SpringSession后,每次请求后,都会把期间变更的attribute保存到redis中。
每次访问都会修改lastAccessTime
org.springframework.session.web.http.SessionRepositoryFilter#doFilterInternal
org.springframework.session.data.redis.RedisIndexedSessionRepository.RedisSession#saveDelta
RedisIndexedSessionRepository.this.expirationPolicy.onExpirationUpdated(originalExpiration, this);
第请求一次,请求所关联的session的过期时间就会延长5分钟
long sessionExpireInSeconds = session.getMaxInactiveInterval().getSeconds();
long fiveMinutesAfterExpires = sessionExpireInSeconds + TimeUnit.MINUTES.toSeconds(5);
this.redis.boundValueOps(sessionKey).append("");
this.redis.boundValueOps(sessionKey).expire(sessionExpireInSeconds, TimeUnit.SECONDS);
实际的过期时间点,最后一次访问后 maxInactiveIntervalInSeconds + 5分钟后,session过期