UNPKG

node-os-utils

Version:

Advanced cross-platform operating system monitoring utilities with TypeScript support

157 lines 2.85 kB
/** * 缓存统计信息 */ export interface CacheStats { /** * 缓存项数量 */ size: number; /** * 缓存命中次数 */ hits: number; /** * 缓存未命中次数 */ misses: number; /** * 命中率 */ hitRate: number; /** * 总内存使用(估算) */ memoryUsage: number; /** * 过期清理次数 */ evictions: number; /** * 最大缓存大小 */ maxSize: number; } /** * 缓存管理器配置 */ export interface CacheManagerConfig { defaultTTL?: number; maxSize?: number; cleanupInterval?: number; enabled?: boolean; } /** * 缓存管理器 * * 负责管理监控数据的缓存,提高性能并减少系统调用 */ export declare class CacheManager { private cache; private defaultTTL; private maxSize; private stats; private cleanupTimer?; private cleanupInterval; private enabled; constructor(config?: CacheManagerConfig); /** * 获取缓存值 */ get<T>(key: string): T | undefined; /** * 设置缓存值 */ set<T>(key: string, value: T, ttl?: number): void; /** * 删除缓存项 */ delete(key: string): boolean; /** * 清空所有缓存 */ clear(): void; /** * 检查是否存在缓存项 */ has(key: string): boolean; /** * 获取缓存大小 */ size(): number; /** * 获取缓存统计信息 */ getStats(): CacheStats; /** * 重置统计信息 */ resetStats(): void; /** * 获取所有缓存键 */ keys(): string[]; /** * 获取缓存项的详细信息 */ getItemInfo(key: string): { exists: boolean; created?: number; expiry?: number; accessCount?: number; lastAccessed?: number; ttl?: number; }; /** * 设置默认 TTL */ setDefaultTTL(ttl: number): void; /** * 获取默认 TTL */ getDefaultTTL(): number; /** * 启用缓存 */ enable(): void; /** * 禁用缓存 */ disable(): void; /** * 检查缓存是否启用 */ isEnabled(): boolean; /** * 关闭缓存管理器 */ destroy(): void; /** * 启动定期清理 */ private startCleanup; /** * 停止定期清理 */ private stopCleanup; /** * 清理过期项 */ private cleanup; /** * LRU 淘汰策略 */ private evictLRU; /** * 更新统计信息 */ private updateStats; /** * 更新命中率 */ private updateHitRate; /** * 估算内存使用量 */ private estimateMemoryUsage; } //# sourceMappingURL=cache-manager.d.ts.map