75、缓存---分布式锁---Redisson信号量测试
可以用来做分布式限流操作。
我们在redis中存储一个数据为3
@Autowired
RedissonClient redissonClient;
@Autowired
StringRedisTemplate redisTemplate;
//信号量测试
//停车
@GetMapping("/park")
@ResponseBody
public String park() throws InterruptedException {
RSemaphore park = redissonClient.getSemaphore("park");//获取信号量
park.acquire();//获取
return "OK";
}
@GetMapping("/go")
@ResponseBody
public String go() {
RSemaphore park = redissonClient.getSemaphore("park");//获取信号量
park.release();//释放
return "OK";
}
boolean b = park.tryAcquire();是尝试获取一个信号量,如果获取到了,操作业务。获取不到,操作业务。
park.acquire();是强制获取,如果获取不到就等待

浙公网安备 33010602011771号