Redis限制訪問次數

2021-09-28 23:23:55 字數 646 閱讀 9364

redis可以很方便的實現短期的資料儲存和使用。比如限制一段時間內的訪問次數之類的,如果用關係型資料庫來做稍顯麻煩,這裡用剛剛寫的新需求做個小例子。

需求:一分鐘內訪問超過3次,提示請稍候

/**

* 通過快取查詢身份證在一分鐘內的刷卡次數

** @param idcard 身份證號

* @return

*/public

intcheckcount

(string idcard)

else

if(system.

currenttimemillis()

-(long) ret.

get(

"lasttime"

)>

60000l)

if(falg)

//快取不為空

count =

(int

) ret.

get(

"count");

ret.

put(

"count"

, count +1)

;return count;

}

從第一次訪問起,一分鐘內所有的請求次數都會記錄下。只要從redis中取出資料做相應的判斷即可

限制介面的訪問次數

情景 傳送手機驗證碼或者郵箱驗證碼時限制規則 一分鐘只可以發一次,一天內也有次數限制。以防止惡意訪問,降低伺服器壓力。解決思路 獲取使用者ip位址,判斷此ip是否首次訪問,如果是首次訪問,在redis建立minkey,daykey.並設定minkey過期60s,daykey為86400s,也就是24...

Redis應用 限制訪問頻率

如果 收到惡意攻擊,訪問頻率可能在某個時間段特別高可能,影響 效能,嚴重還能能導致往 直接崩潰 的訪問頻率限制可以解決這個問題,1 實現訪問 例如限制每個使用者在一段事件內只能訪問一定數量的次數如 一分鐘只能訪問100次,思路 key可以使用 rete.limiting ip value 使用數值,...

Nginx限制訪問次數和併發數

nginx限制訪問速率和最大併發連線數模組 limit 防止ddos攻擊 zone one或allips 表示設定名為 one 或 allips 的儲存區,大小為10兆位元組 rate 2r s 允許1秒鐘不超過2個請求 limit conn log level error limit conn s...