如何记录用户在线状态,可以查询同时在线多少用户

Blade 未结 1 143
bl
bl 剑圣 2025-11-10 14:32

一、该问题的重现步骤是什么?

1. 如何实现查询同时在线多少用户

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 2025-11-10 16:29

    需要给token开启有状态模式,这样token会自动保存到redis,到时候只需要统计redis的key就能知道在线用户数。

    如果要把状态保存到数据库,那就可以在登录成功(获取token成功)的回调修改在线状态,登录失败(校验token失败)的回调修改离线状态。

    https://center.javablade.com/blade/BladeX/src/branch/master/blade-auth/src/main/java/org/springblade/auth/handler/BladeAuthorizationHandler.java#L136


    作者追问:2025-11-11 10:27

    启动token状态后,redis查到了用户登录的token记录,但是退出登录后,Redis里没更新,退出登录走的后台哪里的方法呢,前端看到退出后清除token了,但是redis里没有清理好像屏幕截图 2025-11-11 102607.png

    作者追问:2025-11-11 10:36

    还想问一下可以根据用户表uesrType字段查询登录人数吗,比如只查询uesrType=3的当前登陆人数,用启用token状态,在redis里可以查出吗

    作者追问:2025-11-11 11:31

    屏幕截图 2025-11-11 113034.png

    这个方法在后台哪里,没找到呢

    0 讨论(0)
提交回复