场景:同一个用户在2秒内对同一URL的提交视为重复提交。
思考逻辑:
1.从数据库方面考虑,数据设计的时候,某些数据有没有唯一性,如果有唯一性,要考虑设置唯一索引,可以避免脏数据。
2.从应用层面考虑,首先判断是单机服务还是分布式服务,则此时需要考虑一些缓存,利用缓存,来保证数据的重复提交。
假设是分布式应用,则可以将用户的信息,例如token和请求的url进行组装在一起,存储到缓存存,例如redis,并设置超时时间为2秒,如此来保证数据的唯一性。
以下是代码实现:
Application.java
package com; import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author mon.NoRepeatSubmit; /** * @功能描述 测试Controller * @author www.spring.tsh * @date 2018-08-26 */@RestControllerpublic class TestController { @RequestMapping("/test") @NoRepeatSubmit public String test() { return ("程序逻辑返回"); } }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。