Java web如何记录用户登录时长

淡定的米哥 发布于 2016/06/22 14:17
阅读 1K+
收藏 0

如题:

    如何在Java web项目中,准确的记录用户在线时长?

加载中
0
v若水
v若水
存入reids给一个自动销毁时间,然后判断用户是否在线,一旦在线这个销毁时间就重置,虽然效率低了点但是能满足,最后的你存入redis的时间和reids的这个键的销毁时间之差就是在线时间了
淡定的米哥
淡定的米哥
这个思路不错,赞!
0
jack_jones
jack_jones

监听session的创建和销毁,记录时间

0
扫地小沙弥
扫地小沙弥
我也觉得应该是监听session。
0
随影求是
随影求是
目前应该还没有准备记录在线时长的办法, 比如监听session的方式, 有可能用户不是正常退出系统就没办法准备知道用户掉线的时间点, 但是session还可能存在系统中直到session自动销毁.
淡定的米哥
淡定的米哥
对,考虑到非正常的Session销毁,只能通过监听轮询的方式来判断下线,性能的消耗和时间的准确性都是问题。
0
平安北京
我觉得客户端加个ajax请求呗,5分钟请求一次
淡定的米哥
淡定的米哥
这个方案有漏洞,非常退出,就会有问题。
0
尚浩宇
尚浩宇
登录时记录一个时间,浏览器重定向或者关闭统一有个事件,在这个事件里再记录一个时间,这样只要用户退出了就能准确记录一个时间,然后相减得出在线时长
返回顶部
顶部