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)+"毫秒");
}
}