龙空技术网

防重复提交 redisson结合自定义注解解决重复提交问题#计算机

程序猿蜗牛 46

前言:

而今兄弟们对“js 防止重复提交”都比较着重,朋友们都想要剖析一些“js 防止重复提交”的相关知识。那么小编也在网摘上搜集了一些对于“js 防止重复提交””的相关文章,希望我们能喜欢,各位老铁们一起来学习一下吧!

今天给大家分享用redisson结合自定义注解解决重复提交问题。

以这个接口为例,在这个接口上面加了一个注解,注解里面有一个参数,这边给了一个10,也就意味着同样的一个接口在10秒内只允许访问一次。比如来测试一下,第一次测试的时候这边是成功的,如果10秒内再次访问,这边就会显示操作太频繁,本质上就是环绕通知拦截添加了注解的接口。

然后就拿到注解里面的默认值,在这边用redison进行加锁,并且设置锁的失效时间。至关重要的就是lockkey,lockkey一般是由登录账号以及类名和方法名,包括一些关键参数组合而来的。

比如在这边就以它的类名和方法名为例,并且把一些相关的入参进行了拼接,并且还进行了MD5的加密,生成了这样的lockkey。如果两个请求访问到,这个方法只有一个可以加锁成功就去执行业务逻辑,另一个就会失败,在这边就可以抛出操作太频繁的提示。

这个方法也比较简单,在这个里面其实就是用到了redisson的try lock方法,在这边进行尝试加锁。

这个demo我也会放到我的java高并发实战课程里面,如果你有兴趣,左下角可以了解一下。

标签: #js 防止重复提交