Skip to main content
Version: Next

RedisMutexStorage

RedisMutexStorage

Signature
class RedisMutexStorage implements MutexStorage {
constructor(redis: Redis)
acquire(key: string, timeout: number = this.defaultTimeout, signal?: AbortSignal) => Promise<boolean>;
release(key: string) => Promise<void>;
isLocked(key: string) => Promise<boolean>;
getLockInfo(key: string) => Promise<{
locked: boolean;
ttl: number;
value?: string;
}>;
forceRelease(key: string) => Promise<void>;
extendLock(key: string, additionalTime: number) => Promise<boolean>;
}

constructor

method
(redis: Redis) => RedisMutexStorage

acquire

method
(key: string, timeout: number = this.defaultTimeout, signal?: AbortSignal) => Promise<boolean>

release

method
(key: string) => Promise<void>

isLocked

method
(key: string) => Promise<boolean>

getLockInfo

method
(key: string) => Promise<{ locked: boolean; ttl: number; value?: string; }>

Gets information about a lock including its TTL

forceRelease

method
(key: string) => Promise<void>

Force releases a lock (use with caution)

extendLock

method
(key: string, additionalTime: number) => Promise<boolean>

Extends the lock timeout