@adcp/sdk API Reference - v14.3.0
    Preparing search index...

    Interface RedisBackendOptions

    interface RedisBackendOptions {
        keyPrefix?: string;
        suppressDefaultPrefixWarning?: boolean;
        acknowledgeIsolatedDatabase?: boolean;
        expiredGraceSeconds?: number;
    }
    Index
    keyPrefix?: string

    Key prefix prepended to every scoped key written to Redis. Defaults to "adcp:idem:".

    Sharing a Redis db across deployments? Override this. The default is fine for a dedicated Redis (or a dedicated db index) and for coexisting with non-AdCP applications. But two AdCP servers sharing the same db with the same default prefix will collide on any overlapping principal namespace (e.g., both deployments having a tenant called acme) — the principal segment is per-tenant, not per-deployment, so it's the wrong layer to do deployment isolation. Set a deployment-unique prefix ("adcp:idem:prod-eu:", etc.) or use separate Redis dbs.

    suppressDefaultPrefixWarning?: boolean

    Suppress the one-time console.warn emitted at construction when the default keyPrefix is used against a node-redis client that appears to be on db 0 (the most likely signal of a shared, non-dedicated Redis). Set to true if you know your Redis is dedicated to this AdCP deployment and don't want the warning noise. The recommended fix is to set keyPrefix explicitly, not to suppress. This flag only controls development/test warnings; it is not a production isolation acknowledgement.

    acknowledgeIsolatedDatabase?: boolean

    Explicitly acknowledge that this client uses a Redis database isolated to one AdCP deployment. Outside development and test, this is required when keyPrefix is omitted, empty, or equal to the shared SDK default. Prefer a deployment-unique keyPrefix; use this only for a dedicated database whose isolation is enforced operationally.

    expiredGraceSeconds?: number

    How many seconds past expiresAt to keep the key alive in Redis, so the store layer can still read it during the clock-skew window and return IDEMPOTENCY_EXPIRED (rather than treating it as a fresh miss). Defaults to 120s — covers the store's default 60s skew with margin. When this backend is passed to createIdempotencyStore, the value must be at least that store's clockSkewSeconds; construction fails rather than allowing Redis to evict legacy entries before the advertised skew window. For newly written entries, the physical TTL also never precedes the store-supplied retainUntil safety horizon. Setting this to 0 is therefore supported only with a zero-skew store (or when using the backend directly) and removes the extra Redis linger.