成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

java項(xiàng)目防止用戶重復(fù)登錄 Java的項(xiàng)目經(jīng)驗(yàn)要怎么積累呢?

Java的項(xiàng)目經(jīng)驗(yàn)要怎么積累呢?多看開(kāi)源項(xiàng)目源代碼,或者自己嘗試做一些項(xiàng)目。比較有幫助,最后推薦一個(gè)項(xiàng)目集,可以試著做一下,一共10個(gè)項(xiàng)目,還有配套資料,源代碼都可以獲得!(答案轉(zhuǎn)載自音樂(lè)字節(jié))嗶哩嗶

Java的項(xiàng)目經(jīng)驗(yàn)要怎么積累呢?

多看開(kāi)源項(xiàng)目源代碼,或者自己嘗試做一些項(xiàng)目。比較有幫助,最后推薦一個(gè)項(xiàng)目集,可以試著做一下,一共10個(gè)項(xiàng)目,還有配套資料,源代碼都可以獲得!(答案轉(zhuǎn)載自音樂(lè)字節(jié))

嗶哩嗶哩搜索BV1f64y117vk

后臺(tái)怎么防止因網(wǎng)絡(luò)延遲,用戶連續(xù)點(diǎn)擊導(dǎo)致后臺(tái)重復(fù)執(zhí)行一條數(shù)據(jù),這樣的狀況發(fā)生?

這是典型的防止重復(fù)提交的問(wèn)題!在實(shí)際場(chǎng)景中,比如有重復(fù)扣費(fèi),重復(fù)購(gòu)買(mǎi)!

如何設(shè)計(jì)才能防止重復(fù)提交?我們主要有以下操作:

①前端:點(diǎn)擊提交按鈕,點(diǎn)擊后會(huì)變灰,一段時(shí)間內(nèi)不允許重復(fù)提交!

優(yōu)點(diǎn):最便捷的提高并發(fā)的方法!

缺點(diǎn):頁(yè)面刷新時(shí)js失敗,前端容易被篡改!

②后端:

1.鎖定:鎖定提交的id,同一id在一定時(shí)間范圍內(nèi)只能通過(guò)一次!

如果是分布式服務(wù),需要借助redis添加分布式鎖,否則多個(gè)服務(wù)中的鎖不能互斥!

2.冪等性:保證接口是冪等的,先查詢,記錄不存在就添加,存在就返回查詢結(jié)果!

缺點(diǎn):高并發(fā)環(huán)境不能保證冪等性!

③數(shù)據(jù)庫(kù):如果是新增加的,可以增加唯一字段。保存時(shí),如果唯一字段重復(fù),將引發(fā)異常。使用insert ignore語(yǔ)句進(jìn)行判斷!

如果修改了,可以使用樂(lè)觀鎖sql確保版本version符合要求后再執(zhí)行sql!以下示例是樂(lè)觀鎖定機(jī)制:

更新table_test set namename1,versionversion 1其中idid1和version2

我在實(shí)際工作中使用以上方法。如果有更合適有效的方法,請(qǐng)補(bǔ)充。。筆者一直在持續(xù)分享JAVA開(kāi)發(fā)技術(shù),其中不乏好文章,有需要的朋友可以關(guān)注一下。。