Appearance
@sylis/api / modules/redis/distributed-lock.service / DistributedLockService
Class: DistributedLockService
Defined in: apps/api/src/modules/redis/distributed-lock.service.ts:21
Constructors
Constructor
new DistributedLockService(
redisService):DistributedLockService
Defined in: apps/api/src/modules/redis/distributed-lock.service.ts:25
Parameters
redisService
Returns
DistributedLockService
Methods
clearCache()
clearCache(
key):Promise<void>
Defined in: apps/api/src/modules/redis/distributed-lock.service.ts:200
手动清除缓存
Parameters
key
string
Returns
Promise<void>
createKey()
createKey(
prefix,params):string
Defined in: apps/api/src/modules/redis/distributed-lock.service.ts:209
创建基于参数的缓存键
Parameters
prefix
string
params
Record<string, any>
Returns
string
withLock()
withLock<
T>(key,fn,options):Promise<LockResult<T>>
Defined in: apps/api/src/modules/redis/distributed-lock.service.ts:33
使用分布式锁执行函数,如果锁已被占用则等待或返回错误
Type Parameters
T
T
Parameters
key
string
锁的唯一标识
fn
() => Promise<T>
需要执行的函数
options
LockOptions = {}
锁配置选项
Returns
Promise<LockResult<T>>
withLockOrCache()
withLockOrCache<
T>(key,fn,options):Promise<LockResult<T>>
Defined in: apps/api/src/modules/redis/distributed-lock.service.ts:94
使用分布式锁执行函数,如果锁已被占用则直接返回缓存结果
Type Parameters
T
T
Parameters
key
string
锁的唯一标识
fn
() => Promise<T>
需要执行的函数
options
LockOptions & object = {}
锁配置选项
Returns
Promise<LockResult<T>>