开发者社区> 问答> 正文

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

需求: 手机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失效的代码, 最好不用手动请求后台接口就可以自己调用 各位大神有没有好方法?

展开
收起
kun坤 2020-06-04 21:06:48 732 0
1 条回答
写回答
取消 提交回答
  •     这个分享是否可以解决你的问题: http://www.jfinal.com/share/37######回复 @JFinal : 棒!######回复 @zhulint : 向 cache 中注册一个监听器即可######詹哥,不是定时器,是EhCachePlugin的缓存清除问题。 EhCachePlugin在清除缓存的时候执行sql语句。######詹哥,谢谢你 O(∩_∩)O######你的设计有问题,不应该把用户在线状态放在用户表里面,不合理!######要单独建一个表吗######用户在线列表放在缓存里面就好,缓存的有效期为session的时间,每次请求进来延长一下缓存数据的有效期######厉害!!!谢啦!!☆⌒(*^-゜)v

    2020-06-08 11:09:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载