Hefei19881002 2017-05-04 18:16 采纳率: 47.6%
浏览 19084

如何用java实现redis incr的高并发计数器

需求是一分钟内接口的调用次数不超过1000次 次数放在redis缓存里。

  • 写回答

3条回答 默认 最新

  • oyljerry 2017-05-04 18:41
    关注

    redis本身就是事件驱动模型,你incr递增好了,然后get获取判断一下是否超过次数

    评论
  • Hefei19881002 2017-05-05 00:45
    关注

    Long incr = jedisCluster.incr(userName);
    if (incr == 0) {
    jedisCluster.incrBy(userName, 1);
    jedisCluster.expire(userName, 10);
    }else if(incr > 5){
    String sql = "UPDATE t_un_vehiclestore_account SET userState = 0 WHERE username = '"+userName+"'";
    baseDao.updateBySql(sql);
    }
    需要设置有效时间 我这么设置没有效果呀 求大神帮忙看看

    评论
  • 完美人生YEAH 2018-02-04 19:26
    关注

    key值 拼多个当前需要统计的时间分值就行了

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部