1.流程逻辑-创建key-过期时间,获取key值超过一定限制进行异常返回,否在正常访问,并且自增key值
// @Test
public void limitQuery() throws InterruptedException {
for (int i = 0; i < 1000; i++) {
long st=DateUtil.currentTimeMilliSeconds();
long atomicLong=redisCRUD.getAtomicLong("redpackt");
System.out.println("访问次数"+atomicLong);
if(atomicLong==0) {
redisCRUD.setAtomicLong("redpackt", 1, 5);
}else if(atomicLong>=100&&atomicLong<500) {
System.out.println("访问频繁");
redisCRUD.addAtomicLong("redpackt", 1);
}else if(atomicLong>=200){//处理过期时间失效问题
redisCRUD.setAtomicLong("redpackt", 1, 5);
}else {
long addAtomicLong = redisCRUD.addAtomicLong("redpackt", 1);
}
System.out.println((DateUtil.currentTimeMilliSeconds()-st)+"毫秒");
}
}