【问题标题】:Spring Session Token春季会话令牌
【发布时间】:2015-09-03 18:02:22
【问题描述】:

探索了 spring session 和 redis 看起来真的很不错。

想解决一个问题很久了,如何根据hash中的spring session token值从redis db中获取session token列表。

我知道它不是关系数据库,也没有直接的方法来实现,但这是一种解决问题的方法,这对我们解决问题非常重要

我在博客中读到我们需要保持一组跟踪,在使用 spring session 时有什么方法可以实现这一点。我什至不知道该怎么做

非常感谢任何帮助。

谢谢

【问题讨论】:

    标签: redis spring-session


    【解决方案1】:

    有用的命令:

    1. redis-cli : 进入redis控制台 示例:

      root@root>redis-cli

      127.0.0.1:6379> _

    2. keys * :显示存储在 redis DB 中的所有密钥
      示例:

      127.0.0.1:6379>键 *

      “spring:session:expirations:1440354840000”

      “弹簧:会话:会话:3b606f6d-3d30-4afb-bea6-ef3a4adcf56b”

    3. monitor:监控redis DB

      127.0.0.1:6379> 监视器

      好的

      1441273902.701071 [0 127.0.0.1:49137] “PING” 1441273920.000888 [0 127.0.0.1:49137] “成员”

    4. hgetall SESSION_ID:检查存储在会话中的所有密钥
      示例:

      127.0.0.1:6379>hgetall spring:session:sessions:3b606f6d-3d30-4afb-bea6-ef3a4adcf56b

    5. flushall从数据库中删除所有键。

      例子:

      127.0.0.1:6379> 冲洗

      好的

    【讨论】:

    • 在使用 KEYSMONITOR 时要格外小心,因为它们可能会导致服务中断(通常不鼓励在生产环境中使用)。 FLUSHALL 是合法的,只要你是认真的(想想sudo rm / -rd
    【解决方案2】:

    打开 redis-cli 然后运行

    127.0.0.1:6379> keys *
    1) "spring:session:expirations:1435594380000"
    2) "spring:session:sessions:05adb1d7-c7db-4ffb-99f7-47d7bd1867ee"
    
    127.0.0.1:6379> type spring:session:sessions:05adb1d7-c7db-4ffb-99f7-47d7bd1867ee
    hash
    
    127.0.0.1:6379> hgetall spring:session:sessions:05adb1d7-c7db-4ffb-99f7-47d7bd1867ee
     1) "sessionAttr:SPRING_SECURITY_CONTEXT"
     2) ""
     3) "sessionAttr:javax.servlet.jsp.jstl.fmt.request.charset"
     4) "\xac\xed\x00\x05t\x00\x05UTF-8"
     5) "creationTime"
     6) "\xac\xed\x00\x05sr\x00\x0ejava.lang.Long;\x8b\xe4\x90\xcc\x8f#\xdf\x02\x00\x01J\x00\x05valuexr\x00\x10java.lang.Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\x01N?\xfb\xb6\x83"
     7) "maxInactiveInterval"
     8) "\xac\xed\x00\x05sr\x00\x11java.lang.Integer\x12\xe2\xa0\xa4\xf7\x81\x878\x02\x00\x01I\x00\x05valuexr\x00\x10java.lang.Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\a\b"
     9) "lastAccessedTime"
    10) "\xac\xed\x00\x05sr\x00\x0ejava.lang.Long;\x8b\xe4\x90\xcc\x8f#\xdf\x02\x00\x01J\x00\x05valuexr\x00\x10java.lang.Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\x01N?\xfb\xb6\xa6"
    
    127.0.0.1:6379> 
    

    【讨论】:

      猜你喜欢
      • 2022-01-27
      • 2016-11-04
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-29
      • 2012-02-17
      相关资源
      最近更新 更多