CacheKit , 缓存失效 自动更改数据库数据

发布于 2021-12-02 16:35:53 字数 927 浏览 875 评论 9

需求: 手机app在线用户心跳包请求数据库在线用户数据

提问:token失效的时候,能否自动更改该用户的数据库在线状态?

token没有失效的代码:

public static boolean verifyUserToken (String userToken){ boolean verReturn = false;
    Map<String, Object> ret = new HashMap<String, Object>(); /* true:登录没有失效 */  
   String cacheUserToken = (null == CacheKit.get("UserTokenFilter", userToken)?
 "":CacheKit.get("UserTokenFilter", userToken)).toString();
 if (userToken.equals(cacheUserToken)){
        String userId[] = userToken.split(":"); 
 new ERPUser().findById(userId[0]).set("onLine", "1").update();
        verReturn = true;
   } else {
        verReturn = false;
   } 
 return verReturn;
}
token失效的代码, 最好不用手动请求后台接口就可以自己调用

各位大神有没有好方法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

柳絮泡泡 2021-12-03 21:35:15

厉害!!!谢啦!!☆⌒(*^-゜)v

少女情怀诗 2021-12-03 21:34:55

用户在线列表放在缓存里面就好,缓存的有效期为session的时间,每次请求进来延长一下缓存数据的有效期

羁拥 2021-12-03 21:34:36

要单独建一个表吗

猫性小仙女 2021-12-03 21:25:42

你的设计有问题,不应该把用户在线状态放在用户表里面,不合理!

奢华的一滴泪 2021-12-03 21:25:31

詹哥,谢谢你 O(∩_∩)O

臻嫒无言 2021-12-03 21:24:13

詹哥,不是定时器,是EhCachePlugin的缓存清除问题。 EhCachePlugin在清除缓存的时候执行sql语句。

毁梦 2021-12-03 20:55:13

回复
向 cache 中注册一个监听器即可

倾城泪 2021-12-03 09:37:13

回复
@JFinal : 棒!

倚栏听风 2021-12-03 00:58:32

    这个分享是否可以解决你的问题:
http://www.jfinal.com/share/37

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文