为了账号安全,请及时绑定邮箱和手机立即绑定

redis设置失效时间问题

课程里设置了redis的失效时间,意味着10分钟之后是否必失效。 那么是否就意味着你10分钟之后一定要重新登录一次呢?

正在回答

1 回答

你可以重写更新session的方法,每次操作当前会话都会刷新session的过期时间,以下是参考的zheng项目的代码:

@Override
protected void doUpdate(Session session) {
    // 如果会话过期/停止 没必要再更新了
    if(session instanceof ValidatingSession && !((ValidatingSession)session).isValid()) {
        return;
    }
    // 更新session的最后一次访问时间
    UpmsSession upmsSession = (UpmsSession) session;
    UpmsSession cacheUpmsSession = (UpmsSession) doReadSession(session.getId());
    if (null != cacheUpmsSession) {
        upmsSession.setStatus(cacheUpmsSession.getStatus());
        upmsSession.setAttribute("FORCE_LOGOUT", cacheUpmsSession.getAttribute("FORCE_LOGOUT"));
    }
    RedisUtil.set(ZHENG_UPMS_SHIRO_SESSION_ID + "_" + session.getId(), SerializableUtil.serialize(session), (int) session.getTimeout() / 1000);
    // 更新ZHENG_UPMS_SERVER_SESSION_ID、ZHENG_UPMS_SERVER_CODE过期时间 TODO
    LOGGER.debug("doUpdate >>>>> sessionId={}", session.getId());
}


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

redis设置失效时间问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信