# 分布式锁
# 概述
分布式锁定可确保您的方法无法从多个微服务集群并行运行。它使用公用存储来跟踪已使用的锁,并且您的方法需要获取一个或多个锁才能运行。
# 使用方式
添加依赖
<dependency>
<groupId>com.alinesno.cloud.compoment.distributed.lock</groupId>
<artifactId>alinesno-cloud-component-distributed-lock</artifactId>
<version>${最新版本}</version>
</dependency>
使用@EnableRedisDistributedLock以启用 Redis 分布式锁
// 启用分布式锁配置
@Configuration
@EnableRedisDistributedLock
public LockConfiguration {
}
多个锁关键字处理,使用SpEL表达式,如:
@RedisMultiLocked(expression = "T(com.example.MyUtils).getNamesWithId(#p0)")
public void runLockedWithRedis(final int id) {
// locked code
}
使用基于整数字段值的自定义锁定实现进行锁定count:
@Locked(type = MyCustomLock.class, expression = "getCount", prefix = "using:")
public void runLockedWithMyCustomLock() {
// locked code
}
# 其它
- 略