Iskra API Reference
    Preparing search index...

    Interface CacheAdapter

    Standard cache interface. Values are JSON-serializable: what get() returns is whatever was set, so narrow it where it is read.

    interface CacheAdapter {
        delete(key: string): Promise<void>;
        disconnect?(): Promise<void>;
        exists(key: string): Promise<boolean>;
        get(key: string): Promise<unknown>;
        increment?(key: string): Promise<number>;
        incrementWithTtl?(key: string, ttlMs: number): Promise<number>;
        set(key: string, value: unknown, ttl?: number): Promise<void>;
        setIfExists?(key: string, value: unknown, ttl?: number): Promise<boolean>;
    }
    Index
    • Parameters

      • key: string

      Returns Promise<void>

    • Returns Promise<void>

    • Parameters

      • key: string

      Returns Promise<boolean>

    • The stored value, or null when missing or expired.

      Parameters

      • key: string

      Returns Promise<unknown>

    • Increments a counter, creating it at 1. Store a counter as a number (set(key, 5)): on Redis the string '5' is stored as JSON ("5"), which INCR refuses.

      Parameters

      • key: string

      Returns Promise<number>

    • Atomically increments a counter, creating it with ttlMs expiry when it does not exist (or has lost its expiry). Used by rate limiting.

      Parameters

      • key: string
      • ttlMs: number

      Returns Promise<number>

    • ttl in seconds.

      Parameters

      • key: string
      • value: unknown
      • Optionalttl: number

      Returns Promise<void>

    • Like set(), but only if the key exists (and has not expired), checked and written atomically (Redis: SET ... XX); whether it was written. Used by the cache session store, so a save cannot re-create a session that another request deleted.

      Parameters

      • key: string
      • value: unknown
      • Optionalttl: number

      Returns Promise<boolean>