Skip to content

@sylis/api v0.0.1


@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

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