@ariaflowagents/redis-store
v0.6.0
Published
Redis-backed SessionStore for AriaFlow (supports Upstash and common Redis clients)
Readme
@ariaflowagents/redis-store
Redis-backed SessionStore for AriaFlow. Works with Upstash, node-redis, ioredis, or any client exposing compatible commands.
Install
npm install @ariaflowagents/redis-storeUsage (Upstash)
import { Redis } from '@upstash/redis';
import { fromUpstash } from '@ariaflowagents/redis-store';
const redis = Redis.fromEnv();
const sessionStore = fromUpstash(redis, { prefix: 'ariaflow' });Usage (node-redis)
import { createClient } from 'redis';
import { fromNodeRedis } from '@ariaflowagents/redis-store';
const client = createClient({ url: process.env.REDIS_URL });
await client.connect();
const sessionStore = fromNodeRedis(client, { prefix: 'ariaflow' });Usage (ioredis)
import Redis from 'ioredis';
import { fromIORedis } from '@ariaflowagents/redis-store';
const client = new Redis(process.env.REDIS_URL);
const sessionStore = fromIORedis(client, { prefix: 'ariaflow' });Options
prefix(default:ariaflow): key namespacesessionTtlSeconds: optional TTL for session keysenableCleanupIndex(default: true): track updatedAt in a sorted set for cleanup
Notes
- Sessions are stored as JSON at
${prefix}:session:{id}. - Index sets:
${prefix}:sessions(all session IDs)${prefix}:user:{userId}:sessions(per user)${prefix}:sessions:updated(sorted set, for cleanup)
