namespace WIDESEAWCS_RedisService.Lock { public interface IDistributedLockService { /// /// 获取分布式锁 /// /// 锁的Key /// 锁过期时间 /// 等待获取锁的超时时间 /// 锁Token,释放时需要传入;获取失败返回null string? AcquireLock(string lockKey, TimeSpan expiry, TimeSpan? waitTimeout = null); /// /// 释放分布式锁 /// bool ReleaseLock(string lockKey, string lockToken); /// /// 续期锁 /// bool RenewLock(string lockKey, string lockToken, TimeSpan expiry); /// /// 使用锁执行操作 /// T? ExecuteWithLock(string lockKey, TimeSpan expiry, Func action, TimeSpan? waitTimeout = null); /// /// 使用锁执行操作(无返回值) /// bool ExecuteWithLock(string lockKey, TimeSpan expiry, Action action, TimeSpan? waitTimeout = null); } }