springboot redis bloqueo distribuido

SpringBoot a menudo usa bloqueos distribuidos redis en el trabajo, como cambiar la cantidad, la integración de primavera redis proporciona una solución, los siguientes son los pasos a seguir.
importación expertaspring-integration-redis

<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-redis</artifactId>
    <version>5.3.1.RELEASE</version>
</dependency>

Definir RedisLockRegistry Frijoles

@Bean(destroyMethod = "destroy")
public RedisLockRegistry redisLockRegistry(RedisConnectionFactory redisConnectionFactory) {
     return new RedisLockRegistry(redisConnectionFactory, “app_name_lock_registry”);
}

utilizado en el código comercial,

@Autowired
private RedisLockRegistry redisLockRegistry;

Lock lock = redisLockRegistry.obtain("lock_prefix" + id);
 try {
     boolean got = lock .tryLock(1L, SECONDS);
      if(!got){
          throw new RuntimeException(msg);
      }
  } catch (InterruptedException e) {
     throw new RuntimeException(msg);
  }
try{
 //业务逻辑
}catch(Exception e){

}finally{
	lock.unlock();
}

Supongo que te gusta

Origin blog.csdn.net/wangjun5159/article/details/130289852
Recomendado
Clasificación