Redisson分布式锁实现
单机版Redisson分布式锁实现
1. 引入依赖
官方推荐redisson版本与springboot版本配合使用。将 Redisson 与 Spring Boot 库集成。取决于Spring Data Redis模块,支持 Spring Boot 1.3.x - 2.4.x

在我们引入的依赖edisson-spring-boot-starter,ctrl+左键进入,然后在:redisson-spring-boot-starter-3.15.6.pom 里面就能找到 redisson-spring-data
本demo中引入依赖版本如下
<!-- redis分布式锁 -->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.15.6</version>
</dependency>
2.配置,不要加额外的redis配置
spring:
application:
name: mydemo
redis:
redisson:
config:
singleServerConfig:
address: "redis://127.0.0.1:6379"
database: 0
3.测试demo,连续访问两次,第二次访问会被锁拦住几秒
@Autowired
private RedissonClient redissonClient;
@GetMapping("/test")
public String test() throws Exception{
RLock lock = redissonClient.getLock("ABA");
lock.lock();
System.out.println("休眠10s");
Thread.sleep(10000);
System.out.println("休眠结束");
lock.unlock();
return null;
}
4. 备注
本demo是可行的,且已经用于生产环境,在实际的业务项目中,由于有复杂的环境,可能会有一些其他报错,这时候就多多思考!完毕!
浙公网安备 33010602011771号