Redis防止重复提交-程序员宅基地

技术标签: java  数据库  redis  

为了防止用户频繁点击按钮,一直提交重复数据

import com.furnish.common.constant.CacheConstants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

/**
 * redis防止重复提交
 *
 * @author Administrator
 */
@Component
public class RedisRepetitionSubmit {

    private static RedisTemplate redisTemplate;

    @Autowired
    public void setRedisTemplate(RedisTemplate redisTemplate) {
        RedisRepetitionSubmit.redisTemplate = redisTemplate;
    }


    /**
     * redis防重复提交
     *
     * @param id
     * @return
     */
    public static boolean getRedisRepetition(String id) {
        //每次访问 + 1 (可以实现计数器)
        Long count = redisTemplate.opsForValue().increment("repeat_submit:" + id, 1);
        if (count == 1) {
            redisTemplate.expire("repeat_submit:" + id, 5, TimeUnit.SECONDS);
            return true;
        }
        return false;
    }

}

以用户的id或者其他参数进行设置唯一的key,然后进行判断是否包含 

//防止连续点击生成多条记录 (5秒)
        boolean redisRepetition = RedisRepetitionSubmit.getRedisRepetition(wnBankAudit.getUserId());
        if (!redisRepetition) {
            return R.error().setMsg("请勿重复操作");
        }
        boolean b = wnBankAuditService.addWnBankAudit(wnBankAudit);
        if (b) {
            return R.ok().setMsg("提交成功");
        }

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Java_Mr_Jin/article/details/127241825

智能推荐

C语言/C++常见习题问答集锦(三十二)之六种图案的字母金字塔_c++字母金字塔-程序员宅基地

文章浏览阅读5.7k次,点赞20次,收藏114次。字母金字塔图案1、A BBB CCCCC DDDDDDD图案2、A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9图案3、A ABA ABCBA ABCDCBA图案4、A BB CCC DDDD EEEEE FFFFFF图案5、A BAB CBABC DCBABCD EDCBABCDE空心字母金字图案6、A B B C C D D EEEEEEEEE_c++字母金字塔

如何点击IE窗口上方的“X关闭符号”,弹出提示窗口呢? -程序员宅基地

文章浏览阅读972次。url:http://www.cnblogs.com/zhangzs8896/archive/2005/12/17/298899.html New Document function test() { return ""; } onbeforeunload="return test();"> _关闭符号

天坑的:Fatal Python error: init_sys_streams: can‘t initialize sys standard streams解决方案_fatal python error: init_sys_streams: can't initia-程序员宅基地

文章浏览阅读1.6w次,点赞7次,收藏18次。【问题描述】今天用pycharm新建工程突然提示:编译环境有问题,简单写了两行代码测试一直有问题, 报错如下:Fatal Python error: init_sys_streams: can’t initialize sys standard streams【原因分析】找了很多解决方案,结合错误提示,还是问题发生在虚拟环境下lib目录中的io.py身上,网上有好多老铁说改文件名字,然而证明并没有什么用,认真看下文件信息和内容发现并无区别,最后突然发现io.py的生成日期不对,恒新鲜,不是新建环境_fatal python error: init_sys_streams: can't initialize sys standard streams

7-4 稀疏矩阵加法 (20 分) pta_稀疏矩阵加法pta-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏2次。7-4稀疏矩阵加法(20分)给定两个矩阵A和B,求其和矩阵C=A+B。输入格式:第一行包含两个数Row和Col,分别表示矩阵的行数和列数,A和B的维度是一致的。第二行只有一个数N​1​​,表示接下来要输入的A中的非零元素的个数。接下来是N​1​​行,每一行都是ijA[i,j]这样的形式,表示的A中第i行第j列的元素A[i,j],为了与大多数编程语言保持一致,它..._稀疏矩阵加法pta

【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )_dex加密-程序员宅基地

文章浏览阅读1.9k次。一、解压 apk 文件、二、加密生成 dex 文件、三、打包未签名 apk 文件、四、完整代码示例、五、文件解压缩相关代码、六、执行结果_dex加密

kafka数据不丢失不重复_Kafka 之 如何保证数据不丢失?不重复?-程序员宅基地

文章浏览阅读217次。数据不丢失1)从生产端:acks = -1,(ack应答机制)从生产端到节点端,当所有isr集合里的节点备份完毕后返回成功;2)从节点端:每个partition至少需要一个isr节点(同步)存活保证数据安全3)从消费端:关闭自动提交,使用手动提交。数据不重复消费1)生产端生产者幂等性实现:PID和Sequence Number为了实现Producer的幂等性,Kafka引入了Producer ID..._kafka保证 不重复的pid

随便推点

MySQL和hive建表区别,Hive中創建表(hive的使用和MySQL的使用很相似)-程序员宅基地

文章浏览阅读262次。CREATE TABLE語句(不區分大小寫)Create Table是用於在Hive中創建表的語句,語法和示例如下:語法:CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.] table_name[(col_name data_type [COMMENT col_comment], ...)][COMMENT table_co..._hive create table stored as mysql

解决php因内存不足httpd.exe错误方法!_httpd.exe重启不起来-程序员宅基地

文章浏览阅读246次。1,修改 php.ini将memory_limit由 8M 改成 16M(或更大),重启apache服务2,在PHP 文件中 加入 ini_set(”memory_limit”,”100M”);注意:为了系统的其它资源的正常使用 请您不要将 memory_limit设置太大,其中-1为不限3,修改.htaccess 文档(前提是该目录支持.htaccess)在文档中新增一句:p_httpd.exe重启不起来

分布式系统设计_分布式系统的设计审查清单-程序员宅基地

文章浏览阅读201次。分布式系统设计This article was originally published on my website — https://kislayverma.com/programming/design-review-checklist-for-distributed-systems/ 本文最初发布在我的网站上-https: //kislayverma.com/programming/desi...

数字图像处理-几何变换_冈萨雷斯 图像几何变换在第几章呢-程序员宅基地

文章浏览阅读2.4k次。本程序实现图像处理图像几何变换,基本原理参考冈萨雷斯《数字图像处理》(第二版)第五章中第十一小节。程序需要先调用cal_coef函数计算出来系数,然后调用Image_TransAffine函数得到几何变换后的图像。////////////////////////////////////////////////////////////////////////////函数名称:cal_coef//传入_冈萨雷斯 图像几何变换在第几章呢

IP-Guard如何清除安全密码?_agt3tool-程序员宅基地

文章浏览阅读972次。1、在开始->运行中,输入命令agt3tool ocularadv,调出客户端工具;如果是win7以上的电脑,需要在目录C:\Windows中,找到客户端工具Agt3Tool.exe,右键以管理员身份运行。2、在客户端工具界面上勾选“清除加密安全密码”,并生成操作码;3、在控制台上,工具 → 客户端工具 → 确认码计算器,将客户端上生成的操作码在此输入,进行解析;4、解析完成后会生成操作码,将操作码导入至客户端即可执行清除动作。..._agt3tool

iOS使用Charles(青花瓷)抓包并篡改请求头的数据_charles的请求头-程序员宅基地

文章浏览阅读2.7k次。第一步:编辑要修改的头部信息如图所示第二步:修改完重新执行接口如图所示_charles的请求头

推荐文章

热门文章

相关标签