按钮重复点击

按钮重复点击


这个问题说烂了,我这边就我写过的方案,分享一个比较冷门的方案,确实优秀,烂大街的前端js就不要提了, 一个请求一个线程前端写逻辑你怕是跟我扯淡呢,曾今有大佬破解了前端js逻辑导致无限短信验证码,最后结果也是广为流传,出来混的时间不长,在我的见解里面前端的任务应该以页面展示为重心,js是可以手改的,涉及到逻辑的部分应该后台来做,以下是方案:

		线程锁+缓存

以下是部分代码
按钮重复点击_第1张图片
cacheService是缓存,3是有效时间3s,该部分是防止用户重复点击代码逻辑

这是方案流程图:
按钮重复点击_第2张图片
线程锁部分减轻无效操作,减轻qbs压力,也确保了后续缓存数据的准确性,后续缓存避免重复发送,也可加入token判定避免单用户多窗口的场景,至于缓存中redis中的雪崩和穿透的解决方案,这有点烂大街了,就不做说明

你可能感兴趣的:(java,缓存,算法)