UNPKG

@yihuangdb/storage-object

Version:

A Node.js storage object layer library using Redis OM

63 lines 1.72 kB
/** * Redis OM Pattern Scanner * Finds and manages all keys created by Redis OM for a schema */ import { RedisClientType } from 'redis'; export interface ScanResult { patterns: Map<string, string[]>; totalKeys: number; breakdown: Record<string, number>; } export interface DeleteResult { deleted: number; patterns: string[]; errors: string[]; } export interface KeyStats { total: number; byType: Record<string, number>; memoryUsage?: number; } export declare class RedisOMPatternScanner { private entityName; private client; private readonly REDIS_OM_PATTERNS; constructor(entityName: string, client: RedisClientType); /** * Get all patterns for this entity */ private getPatterns; /** * Get keys matching a pattern from registry */ private scanPattern; /** * Find all keys for this schema */ findAllSchemaKeys(): Promise<ScanResult>; /** * Delete all keys for this schema */ deleteAllSchemaKeys(): Promise<DeleteResult>; /** * Get statistics about keys */ getKeyStats(): Promise<KeyStats>; /** * Find orphaned keys (keys that don't match expected patterns) */ findOrphanedKeys(): Promise<string[]>; /** * Clean up orphaned keys */ cleanupOrphans(): Promise<number>; } /** * Utility to monitor all schemas */ export declare function monitorAllSchemas(schemas: string[], client: RedisClientType): Promise<Record<string, KeyStats>>; /** * Clean up all schemas */ export declare function cleanupAllSchemas(schemas: string[], client: RedisClientType): Promise<Record<string, DeleteResult>>; //# sourceMappingURL=redis-om-scanner.d.ts.map