题目:有一APP客户端需要增加一个功能,限制用户输入密码登陆次数1小时内不得超过5次尝试,否则认为是在作弊,将予以保护不得用户再继续进行操作。思路:此处应该加锁,但是加锁会影响登录效率.看题目发现用户id是作为传入参数。所以我们可不可以拿用户id作为一个锁呢?这样就只会锁住该用户 ...
题目:有一APP客户端需要增加一个功能,限制用户输入密码登陆次数1小时内不得超过5次尝试,否则认为是在作弊,将予以保护不得用户再继续进行操作。
思路:此处应该加锁,但是加锁会影响登录效率.看题目发现用户id是作为传入参数。所以我们可不可以拿用户id作为一个锁呢?这样就只会锁住该用户,而不会锁住别人.使用Redis作为缓存,key为用户id。
其他逻辑处理代码这里省略,只写最关键的代码块:
int count = Integer.parseInt(countObj.toString()); //expire:设置key的时间,第三个参数是时间的单位,这里设置为"秒" if(count == 1) redisTemplate.expire("用户id",30, TimeUnit.SECONDS); if(count <= 5) System.out.println(String.format("第%d次登录成功", count)); else System.out.println("超过5次登陆,对不起不能这么频繁登陆.");
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:限制登录次数
关键词:登录
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。