1.简述
目的:一定时间内,同样的请求(业务参数相同)访问同一个接口,则只能成功一次,其余被拒绝。
2.引入redis支持
因为需要通过redis的setnx确保只有一个接口能够正常访问,所以需要引入redis。
2.1.pom.xml
org.springframework.boot
spring-boot-starter-data-redis
spring-boot-starter-logging
org.springframework.boot
2.2.application.properties
spring.redis.host=11.22.33.44
spring.redis.port=26379
spring.redis.database=1
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=500
spring.redis.pool.min-idle=0
spring.redis.timeout=0
2.3.Redis JUnit Test Case
/**
* @author hanchao
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisTemplateTest {
@Resource
private RedisTemplate redisTemplate;
@Test
public void simpleTest() {
ValueOperations valueOperations = redisTemplate.opsForValue();
String key = "RedisTemplateTest-simpleTest-001";
valueOperations.set(key,key+key);
System.out.println(valueOperations.get(key));
}
}
3.引入幂等