@bounkhong/idempotency-adapter-redis
v0.1.0
Published
Redis idempotency store adapter for AIF core
Downloads
169
Maintainers
Readme
@bounkhong/idempotency-adapter-redis
Redis-backed idempotency store using SET NX + EX for atomic begin semantics.
Install
pnpm add @bounkhong/idempotency-adapter-redis @bounkhong/idempotency-coreRedis client contract
Your Redis client should provide:
interface RedisLike {
set(key: string, value: string, opts: { NX?: boolean; EX?: number }): Promise<"OK" | null>;
get(key: string): Promise<string | null>;
expire(key: string, seconds: number): Promise<number>;
}Usage
import { RedisIdempotencyStore } from "@bounkhong/idempotency-adapter-redis";
const store = new RedisIdempotencyStore(redisClient);Notes
beginusesSET ... NX EXto ensure one writer starts execution- completed/failed metadata is stored with remaining TTL
- for long-running requests, call
heartbeat(scopeKey, ttlSeconds)to extend lock lifetime
