Java介面 限制App登入次數

2021-07-29 18:51:04 字數 586 閱讀 9057

此處應該加鎖,但是加鎖會影響登入效率.看題目發現使用者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次登陸,對不起不能這麼頻繁登陸.");

這個解決方案是借助第三方元件實現的,主要從**效率方面考慮,隨著現代軟體的不斷發展,這樣**的思想使用會越來越廣,所以開發的時候一定要多思考再下手寫**。

app登入介面

請輸入使用者名稱 v model user maxlength 11 div password placeholder 請輸入密碼 v model password maxlength 6 div text placeholder 輸入驗證碼 v model code imgsrc alt div ...

限制介面的訪問次數

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

登入的次數及時間限制

datetime dtone convert.todatetime reader1 errortime tostring datetime dtwo system.datetime.now timespan span dtwo.subtract dtone int g span.minutes 以上...