Skip to main content
Version: Next

RedisSemaphoreStorage

RedisSemaphoreStorage

Signature
class RedisSemaphoreStorage implements SemaphoreStorage {
constructor(redis: Redis)
acquire(key: string, timeout: number = this.defaultTimeout, signal?: AbortSignal) => Promise<boolean>;
release(key: string) => Promise<void>;
getAvailablePermits(key: string) => Promise<number>;
getTotalPermits(key: string) => Promise<number>;
initialize(key: string, permits: number) => Promise<void>;
getSemaphoreInfo(key: string) => Promise<{
total: number;
available: number;
acquired: number;
initialized: boolean;
}>;
reset(key: string, permits?: number) => Promise<void>;
increasePermits(key: string, additionalPermits: number) => Promise<void>;
decreasePermits(key: string, permitsToRemove: number) => Promise<void>;
clear(key: string) => Promise<void>;
}

constructor

method
(redis: Redis) => RedisSemaphoreStorage

acquire

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

release

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

getAvailablePermits

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

getTotalPermits

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

initialize

method
(key: string, permits: number) => Promise<void>

Initializes a semaphore with the specified number of permits

getSemaphoreInfo

method
(key: string) => Promise<{ total: number; available: number; acquired: number; initialized: boolean; }>

Gets detailed information about a semaphore

reset

method
(key: string, permits?: number) => Promise<void>

Resets a semaphore to its initial state

increasePermits

method
(key: string, additionalPermits: number) => Promise<void>

Increases the total number of permits for a semaphore

decreasePermits

method
(key: string, permitsToRemove: number) => Promise<void>

Decreases the total number of permits for a semaphore

clear

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

Clears a semaphore completely