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是可行的,且已经用于生产环境,在实际的业务项目中,由于有复杂的环境,可能会有一些其他报错,这时候就多多思考!完毕!

posted @ 2022-01-19 14:59  KyleCool  阅读(206)  评论(0)    收藏  举报