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
>>