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>;
}
- Implements:
SemaphoreStorage
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