美文网首页
Redis取出Spring-session共享的session

Redis取出Spring-session共享的session

作者: Pure_Dream | 来源:发表于2017-09-29 12:39 被阅读0次

            公司要求用Redis做一个在线用户共享session,并能够统计出所有在线用户的数量及要能够查看每个用户的信息。

            首先我们要认识到Spring-session共享session之后,你每次只能读取到当前最新session,并不能得到全部的存储到Redis中的数据。解决方法:使用 RedisTemplate的 redisTemplate.keys();则可以根据你的需要读取所有的key,然后根据key调用 redisTemplate.opsForHash().get()查到你要的数据。

            这里要注意:Spring-session共享session之后是有他自己的存储规则的,我们应该根据规则将我们的数据取出。

           主要代码:

    Set   keys = redisTemplate.keys("spring:session:sessions:*");  //取出redis中所有session的key ArrayList   userList = new ArrayList();

    for(String key : keys){

    if(key.indexOf("expires")==-1){

    userList.add((UserSession) redisTemplate.opsForHash().get(key, "sessionAttr:userSession")); 

    }

    }

    相关文章

      网友评论

          本文标题:Redis取出Spring-session共享的session

          本文链接:https://www.haomeiwen.com/subject/cxliextx.html