actrone-memory
    Preparing search index...

    Interface RedisLike

    Minimal structural interface for a Redis client, shaped like ioredis (new Redis(url)), which satisfies it directly. node-redis v4 names its commands in camelCase (rPush, lRange), so it needs a thin wrapper mapping these methods onto its own. Injecting the client keeps actrone-memory free of a hard ioredis dependency and makes the store unit-testable with an in-memory fake.

    interface RedisLike {
        rpush(key: string, value: string): Promise<number>;
        lrange(key: string, start: number, stop: number): Promise<string[]>;
        ltrim(key: string, start: number, stop: number): Promise<unknown>;
        llen(key: string): Promise<number>;
        del(key: string): Promise<number>;
        expire(key: string, seconds: number): Promise<number>;
        lindex(key: string, index: number): Promise<string | null>;
        set?(
            key: string,
            value: string,
            ...args: readonly unknown[],
        ): Promise<string | null>;
    }
    Index
    • Parameters

      • key: string
      • value: string

      Returns Promise<number>

    • Parameters

      • key: string
      • start: number
      • stop: number

      Returns Promise<string[]>

    • Parameters

      • key: string
      • start: number
      • stop: number

      Returns Promise<unknown>

    • Parameters

      • key: string

      Returns Promise<number>

    • Parameters

      • key: string

      Returns Promise<number>

    • Parameters

      • key: string
      • seconds: number

      Returns Promise<number>

    • Parameters

      • key: string
      • index: number

      Returns Promise<string | null>

    • SET key value NX EX seconds, used for the summary lock. Optional so an existing client shim keeps working; without it, tryAcquireSummaryLock is unavailable rather than silently unsafe. ioredis spells the variadic form set(key, val, "EX", n, "NX") and node-redis set(key, val, { EX: n, NX: true }), so both shapes are accepted.

      Parameters

      • key: string
      • value: string
      • ...args: readonly unknown[]

      Returns Promise<string | null>